シェルスクリプトの1行目に書く「#!」ってなんだろう
auです。
シェルスクリプトのファイル(.sh)を書く際に、おまじないのように1行目に「#!/~~~」と書きます。
なぜ書くのかを理解していなかったので調べてみました。
#!/とは
「#!」は、Shebangと呼ばれており、実行時にインタプリタを指定しているものです。
シバン・シェバンと呼ばれているようです。
Pythonを例に書いてみます。
Pythonファイルの行頭に
test.py
#!/usr/bin/env python3 print('Hello world')
と書けば、いつもと違う形で実行することができます。
実行方法は、
./test.py
となります。C言語みたいですね。
しかし、実行すると権限エラーが出ます。
権限を与えれば実行できるわけですね。
chmod +x test.py
メリット
Pythonの場合は、python2系なのかpython3系、バージョンを明示できることや、権限を書き分けることによって実行できる人を選ぶことができます。