Error处理:/bin/bash^M: 坏的解释器: 没有该文件或目录(bad interpreter: No such file or directory)...
在Linux下編譯運行腳本的時候出現(xiàn)”/bin/bash^M: 壞的解釋器: 沒有那個文件或目錄(bad interpreter: No such file or directory)“這樣的錯誤。
?
解決方法:
??? 使用在終端輸入sed -i 's/\r$//' check_tool.sh即可
??? 其中check_tool.sh為文件名,這里改成自己需要的即可
原因:
??? 這個文件在Windows 下編輯過,在Windows下每一行結(jié)尾是\n\r,而Linux下則是\n
??? sed -i 's/\r$//'?check_tool.sh?會把check_tool.sh中的行尾的\r替換為空白
?
詳細解析:
?
這跟系統(tǒng)有關(guān)。腳本文件在windows下編輯過,windows下每一行的結(jié)尾是\n\r,而在linux下文件的結(jié)尾是\n,那么你在windows下編輯過的文件在linux下打開看的時候每一行的結(jié)尾就會多出來一個字符\r,
用cat-A filename時你可以看到這個\r字符被顯示為^M
?
[html]?view plaincopyPS:cat -A 什么意思?
A就是all的意思,就是所有的都顯示出現(xiàn),也就是說\n\r默認是不顯示的。
這時候只需要刪除這個字符就可以了。
?
怎么刪掉呢?
正則表達式sed-i 's/\r$//'filename
說明:
?
[html]?view plaincopy總結(jié)
以上是生活随笔為你收集整理的Error处理:/bin/bash^M: 坏的解释器: 没有该文件或目录(bad interpreter: No such file or directory)...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaScript 字符串连接性能比较
- 下一篇: Codeforces Round #44