up:: Shellscript
up:: Termux
Shebang
.shの一行目に書いてるコメントに酷似したこれ。
#!/bin/bash
ターミナルにも種類があるわけなのだが、こう書くと「/bin/ディレクトリに入っているbashで動かしてね」という意味になる。
ただの注意書きではない。 たとえば
#!/bin/sh
こう書くと、bashで動かしていても「できるだけshっぽく動かしてね」という命令が出されるため、エラーを出したラインでスクリプトが停止したりする。
詳しく言うと、POSIXモードという昔の動作をエミュレートする機能がONになるらしい。
こだわりが無ければ#!/bin/bash
にすべき。
/bin/sh と /bin/bash の違い - 双六工場日誌
余談だが、termuxのshebangは/data/data/com.termux/files/usr/bin
。
あまりにも長いので$PREFIX/bin
と省略できる。
さらにtermux-fix-shebang
で#!/bin/sh
を自動的にこれに変換して実行することもできる。便利。