質問: シェバン)について知り、調べると、実行ファイルとして実行した時にそれを実行するインタプリタを指定するものだということは何となく分かったのですが、 そもそもなぜ実行ファイルとして(ファイル名だけで)実行したいのでしょうか? ``` ./bash.sh ``` で実行するのと ``` bash bash.sh ``` で実行するのでは、実行する側としてどのようなモチベーションの違いがありますか? (タイプ量もそれほど変わらないですし...)
回答: 自分で作成したスクリプトを自分だけで実行するのならどちらでも良いと思います。 (使い捨てのスクリプトであれば自分もシェバンを付けないこともあり得ます。) ひとに使ってもらうことを考えると、自分なら以下の理由からシェバンを付けると思います。 ・タイピング数が少ない。シェバン付きならファイル名に「.sh」を付けて種類を明示する必要が無いので「bash」という名前してさらにタイプ数を少なくすることが出来ます。 ・このスクリプトをどう実行するか(shなのか、bashなのか、pythonなのか、rubyなのか、perlなのか、はたまた実行ファイルなのか、...)をこのコマンドを実行するひとに一瞬ではあるが考えさせることになる