勉強前イメージ
よく言われるおまじない的なやつ!
調査
shebang とは
シェバンと読み、Linux等で実行されるシェルスクリプトにおいて先頭についている #!
を指します。
このシェバン #!
で、コンピュータ内でパスを指定すると実行時にそのプログラムが起動されて
それ移行のスクリプトが引き渡されて実行されます。
#(ハッシュ:hash/シャープ:sharp) と !(バン:bang) を縮めて、shebangを言われるようになりました。
例えば、以下のようなプログラムだと 「/bin/bash」 で実行されるということを明示的に記載しています。
test.sh
#!/usr/bin/bash
echo "test"
./test.sh
シェバンに以下のようにpythonを指定するとpythonでシェルスクリプトのコードを実行することになるのでエラーになります。
test1.sh
#!/usr/bin/python
echo "test"
./test1.sh
/usr/bin/python
で実行されるので、エラーになりました。
[root@localhost ~]# ./test1.sh
File "./test1.sh", line 2
echo "test"
^
SyntaxError: invalid syntax
勉強後イメージ
ずっと名前知らなかった、初めて知った。
例えば、 sh test.sh をやるとするとどういう順番で読み込まれるんだろう