#! /bin/sh で、 ! の後にスペースを空けることに理由はあるか


シェルスクリプトに指定される shebang が、

[code]

    #! /bin/sh
    
[/code]

のように、 ! マークとインタプリターの間にスペースが挿入されているケースをたびたび見かけます。

[code]

    #!/bin/sh
    
[/code]

の形式ではなく、このようにスペースをいれて shebang を記述する特別な理由はありますか。




@user10685さんのコメントの[関連リンク](https://stackoverflow.com/questions/10197690/perl-
shebang-space)とそこから辿れる情報で大体出尽くしている感がありますが、私も以前はスペースを入れていました。これは、GNU
autoconfのチュートリアルに「4.2BSDでは先頭4バイト"#!
/"をマジックナンバーとして読むのでスペースが必要」と[あったからです。](http://web.archive.org/web/20080118164924/http://www.gnu.org/software/autoconf/manual/autoconf-2.57/html_chapter/autoconf_10.html)これは誤りで実際は[空白はオプショナル](http://www.in-
ulm.de/~mascheck/various/shebang/#blankrequired)であり、新しい版では直っています。

質問の「理由」は、かつての私にとっては「autoconfのチュートリアルに書いてあったから」となります。同様の理由でスペースを入れてる人も多いんじゃないでしょうか。




@user10685さんのコメントの[関連リンク](https://stackoverflow.com/questions/10197690/perl-
shebang-space)とそこから辿れる情報で大体出尽くしている感がありますが、私も以前はスペースを入れていました。これは、GNU
autoconfのチュートリアルに「4.2BSDでは先頭4バイト"#!
/"をマジックナンバーとして読むのでスペースが必要」と[あったからです。](http://web.archive.org/web/20080118164924/http://www.gnu.org/software/autoconf/manual/autoconf-2.57/html_chapter/autoconf_10.html)これは誤りで実際は[空白はオプショナル](http://www.in-
ulm.de/~mascheck/various/shebang/#blankrequired)であり、新しい版では直っています。

質問の「理由」は、かつての私にとっては「autoconfのチュートリアルに書いてあったから」となります。同様の理由でスペースを入れてる人も多いんじゃないでしょうか。

