1、問題現象
在Linux系統中使用./make.sh運行了一個簡單的bash腳本,運行失敗,並報錯提示如下所示:
2、錯誤原因:
主要是應用bash后面多了'\r'字符的原因,在Linux終端下,輸出'\r'會什么都不顯示,只是把光標移到行首,因此,終端雖然輸出了"/usr/bin/env bash",但是遇到'\r'后,光標會移到到行首,接着輸出錯誤信息"No such file or directory",最終,bash腳本運行失敗。
3、解決方法:
通過重新設置bash腳本的文件格式去解決問題,如下:
使用vim先查看bash腳本的當前文件格式:
$ vim make.sh # 進入到命令行模式查看當前文件格式 :set ff
可以看到,當前的文件格式為dos,例如下面:
修改當前文件的格式為unix,如下:
# 重新進入vim的命令行模式 : set ff=unix : set ff # 命令行模式保存文件 :wq
修改后的bash文件格式如下所示:
最后,重新運行bash即可。