質問: シェルスクリプトのマジックナンバーがないのはなぜですか? ubuntuおよびunixシステムは、一般に マジックナンバー を使用してファイルのタイプを指定します。 vlcは、拡張子がファイル名から削除されている場合でも、.mp4ファイルを開きます。ただし、スクリプトでは shebang はまったく同じ目的を果たします。bash、perl、sed、awk、...スクリプトにも個別のマジックナンバーがないのはなぜですか?
回答: bash、perl、sedなどのすべてのスクリプトはascii text形式を使用しますが、mp4はバイナリとして読み取られます。バイナリレベルで異なるファイルヘッダーを持ち、コンテンツをテキストのままにして言語に依存することは、各ファイルタイプを開くための特定のソフトウェアを持っていることを意味するため、意味がありません。ファイル内に単純な宣言があれば十分であり、スクリプトを任意のテキストエディターで開くことができます。