Shellにある#!/bin/shについて
shellの1行目に書く#!/bin/shとか#!/bin/bashをおまじないのまま終わらせておくと
モヤモヤが残るので勉強がてら記事にしました。
#!/bin/shを書く理由
shellと言っても様々なタイプのshellがいます。bash,csh,bsh,kshなどなど
unix環境に応じて使用されているshellは様々です。
しかしながら、様々なunix環境に必ず入っているshellがbshなのです。
そのため、どんなunix環境で動作できるようにshellの1行目で#!/bin/shと書いて、bshのshellを書くのです。
#!/bin/shを書かないと
1行目に#!/bin/shを書かないとshellは動かないのでしょうか?
実は動きます。以下のコマンドを叩いてみてください。
echo $SHELL
ログインシェルと言われているタイプのシェルで動作します。
つまり、unix環境に応じて、どんなシェルで動くかわからないのです。
まとめ
全てのunix環境で動くように#!/bin/shと書きましょう。