bwの違いは何ですか?
exec script.sh
そしてbash script.sh
script.shに適切な読み取り/実行権限がすべて設定されているとしますか?
答え1
exec script.sh
変えるシェルは現在シェルの shebang 行で定義されており、対応するscript.sh
インタプリタを使用してファイルの残りの部分を実行します。ファイル拡張子に関係なく、/bin/sh
からまで何でもできます。/usr/bin/python
これを行うにはscript.sh
実行可能でなければなりません。これの1つの副作用は、script.sh
完了するとシェルも終了することです。対話型端末の場合、端末も終了します。
bash script.sh
shebang行に関係なく、bash
解釈に新しいシェルを使用してください。script.sh
つまり、shebang 行が存在する場合は無視されます。script.sh
このように動作するために実行可能である必要はありません。