Linux中执行bash脚本报错/bin/bash^M: bad interpreter: No such file or directory
生活随笔
收集整理的這篇文章主要介紹了
Linux中执行bash脚本报错/bin/bash^M: bad interpreter: No such file or directory
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題描述:Linux中采用絕對路徑執行Bash腳本,報錯-bash: /home/xxx.sh: /bin/bash^M: bad interpreter: No such file or directory
我是先在Windows系統上創建一個名為xxx.sh的腳本,接著把相關的Bash腳本內容復制到該文件中,然后再將該文件上傳到Linux中。
解決方法:Windows環境下的文件是dos格式,即每行結尾以\r\n來標識,而Linux下的文件是unix格式,行尾則以\n來標識
第一步:使用下述命令看看該文件的格式,dos格式的文件行尾為^M$,unix格式的文件行尾為$?
cat -A xxx.sh從顯示結果可以判斷,該文件屬于dos格式
第二步:使用下述命令直接替換結尾符為unix格式
sed -i "s/\r//" xxx.sh第三步:再次使用?cat -A xxx.sh命令可以看到文件的格式為unix格式
總結
以上是生活随笔為你收集整理的Linux中执行bash脚本报错/bin/bash^M: bad interpreter: No such file or directory的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 汇编指令: JO、JNO、JB、JNB、
- 下一篇: uva 1218 Perfect Ser