コマンドファイルの提案の背後にあるストーリーは何ですか?


12

私が読んでいる間、私はfile(1)これをmanページで強調しました(私の強調):

/ etc / magicにローカル定義を追加するときは、これらのキーワードを保存してください。ユーザーは、ディレクトリ内のすべての読み取り可能なファイルに「テキスト」という単語が印刷されていることを知っている必要があります。バークレーのようにして「シェルコマンドテキスト」を「シェルスクリプト」に変更しないでください。

この文章の背後にある物語は何ですか?とは思いBerkeleyますがBSD (Berkeley software distribution)、Googleはこれについて十分な情報を提供していません。

http://man7.org/linux/man-pages/man1/file.1.htmlへのリンクfile(1)

一部の調査では、このステートメントが27年前にリンクが追加されたことを示しています。

Don't do as one computer vendor did \- change ``shell commands text''
to ``shell script''.

その後、現在のステートメントリンクに変更

Don't do as Berkeley did \- change ``shell commands text''

回答:


6

人々はfile、ファイルで実行するスクリプト(および場合によってはCプログラム)を作成し、$(file foobar)またはpopen()で出力をキャプチャし、文字列一致チェックを実行して、file「text」という単語が含まれる(または終わる)かどうかの出力を確認していました。次に、Berkeley Software Distribution(カリフォルニア大学バークレー校)の開発者が説明どおりに行い、すべてのスクリプトとプログラムが シェルスクリプトファイルをテキストファイルとして認識しないようにしました。


これはいつ起こったのですか?参照はありますか?
yegle、2014

それはおそらく1970年代後半(非常に遅い)か1980年代初頭でした。参照が見つかりません。私は私の記憶を中継しています。
スコット

not to recognize shell script files as text files。シェルスクリプトにはバイナリデータを含めることができます:)参照:埋め込まれたバイナリデータを含むシェルスクリプトの検出の失敗バグのある魔法:#!/ bin / sh、埋め込まれたバイナリデータが 'data'として報告される修正
Evgeny Vereshchagin

@EvgenyVereshchagin:わかりました、それはトピックにある程度関連していますが、それほどではありません。またはあなたはポイントを作っていますか?
スコット

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.