- Linux では #!/bin/sh スクリプトもbashで実行される
Linuxでは、#!/bin/sh 記述があるスクリプトもbashで実行される。
[理由]
Linuxでは、/bin/sh は実際には /bin/bash へのシンボリックリンクとなっている。
[影響]
Bシェルだから、他OSのBシェルでも動かせると思っていたら、
動かなかった。
具体的には...
Linux上の #!/bin/sh スクリプト に入っていた bash 依存箇所でエラー。
エラーにはならず、無言のまま変数値が設定されないんだった。なお悪い。
例えばこういうの:
export TZ=GMT
上記は bash ではOKだが、Bシェルではちゃんと読んでくれません。
そこで、スクリプトを変えてやらないといけない。<方法その1>
Bシェル向きに、問題箇所を次のように訂正
TZ=GMT
export TZ
<方法その2>
シェルスクリプトの冒頭をちゃんと実情にあっているように
以下のように書き換えてやる
#!/bin/bash