スクリプトの Shebang シーケンス

スクリプトの Shebang シーケンス

Shebangシーケンスが別々のファイルに作成されたスクリプトに含まれているとします。たとえば、スクリプトファイルを作成しますexample.sh

ファイルにshebangシーケンスを追加すると、次のようになります。

 #!/bin/sh

上記のコマンドがコメント(Linux Bashスクリプトでは#通常コメントの開始と見なされます)として認識されないようにするにはどうすればよいですか?

ベストアンサー1

Shebang は、スクリプトが実行可能で「#!」の場合に限り、実際の Shebang です。ファイルの最初の2文字です。

オペレーティングシステムは実際にファイルの最初の2バイトを調べて、それが「#」と「!」のASCIIコードである(16進数)「23」と「21」であることを理解します。

これらの内容がファイルの後ろに表示される場合、またはファイルを直接実行しない場合、その行は#で始まり、実際にはコメントとして扱われます。

実際に行が次のような場合:

#!/bin/sh

その後、オペレーティングシステムはshebangを見つけて、次を実行します。

/bin/sh [filename]

そして/bin/sh するスクリプトを実行するときは、shebang 行をコメントとして無視します。

注釈として使用されない他の言語では#、最初の行を無視するようにインタプリタに特別なフラグを渡すのが一般的です(例#!/usr/local/bin/tcc -run:)。

おすすめ記事