シャーバンと通訳者#!
の間に空白以上が許可されていますか?
たとえば、#! /bin/bash
。これは効果があるようですが、一部の人々はそれが間違っていると言います。
ベストアンサー1
はい、許可されています。
ウィキペディア記事シェボンについて Dennis Ritchieがshebangのカーネルサポートを紹介したときに送信された1980年の電子メールが含まれています。通訳者指令)をバージョン8 Unixに(強調表示):
#!
実行中のファイルが魔法の文字で始まる場合、残りの行は実行中のファイルのインタプリタ名として認識されるようにシステムが変更されました。 [… ]この良い機会を活用するには、
#! /bin/sh
シェルスクリプト 最初の行の左マージンに位置します。 空にしても
!
大丈夫です。
したがって、shebang以降のスペースは長く存在しており、実際にDennis Ritchieのケースではこれを使用しています。
以前のバージョンのUnixでは、このインタプリタ行は16文字に制限されていたため、スペースを含めることはできません。この制限は、もはや最新のカーネルには適用されません。