如果在執行 Shell Script 時預到 bad interpreter: No such file or directory 報錯, 原因是 Shell Script 第一行指定的 interpreter 路徑錯誤, 系統找不到 interpreter 所致。
解決方法是檢查 Shell Script 第一行的 interpreter, 設定回正確路徑, 一般是 /bin/sh 或 /bin/bash.
另一種情況是 interpreter 設定正確, 但出現像以下報錯:
/bin/sh^M: bad interpreter: No such file or directory
這個問題是因為 Shell Script 是在 Windows 上編輯的, 格式使用了 dos 格式, 在第行結尾加入了 “^M” 字串, 系統找不到 “/bin/sh^M”, 所以便會出現這個問題。
要解決這個問題, 可以用 dos2unix 指令, 例如:
# dos2unix test_script.sh
dos2unix: converting file test_script.sh to UNIX format …
dos2unix: converting file test_script.sh to UNIX format …
執行完以上指令後, 再試試執行應該沒問題了。