2020年2月19日 星期三

bad interpreter: No such file or directory

在 Linux 執行 Perl、R 或 Python 腳本時,有幾種情況可能會跳出 "bad interpreter: No such file or directory"。

1. 打錯字


檢查 #!/usr/bin/env 有沒有拼對,如果拼錯的話也會報錯。

2. 路徑不對


即「執行Python "/bin/usr/python: bad interpreter: No such file or directory" 錯誤」中提到的問題:當腳本開頭寫成 #!/usr/bin/python 時,如果沒有主動連結到安裝的 python 版本,有可能找不到。改寫成 #!/usr/bin/env python,就會自動尋找 python 的路徑了。

3. 腳本的編碼格式不相容


Windows 記事本的格式和 Linux 的腳本不同,所以會因為隱藏的字元而無法判讀,解決方法可參考「sh腳本異常:/bin/sh^M:bad interpreter: No such file or directory」,在 vi 或 vim 編輯器下,以 :set fileformat=unix 修改腳本編碼。

沒有留言:

張貼留言