1. 程式人生 > >bash: ./xxxx.sh: line xx: syntax error near unexpected token "xx''

bash: ./xxxx.sh: line xx: syntax error near unexpected token "xx''

今天在編譯android openssl的時候使用指令碼檔案出現了下面的錯誤:

[email protected]:~/AndroidBox/openssl-1.1.0f$ source ./setenv-android.sh 
: command not found
: command not found
: command not found
: command not found
: command not found
: command not found
: command not found
: command not found
bash: ./setenv-android.sh: line 106: syntax error near unexpected token `$'do\r''
'ash: ./setenv-android.sh: line 106: `do

在各種排查後沒有發現是指令碼語法的問題,也不是什麼命令沒有的問題,在使用cat -v +檔案 後發現問題的所在:

原來是檔案出現了^M,格式有問題,用file檢視檔案的格式:

我使用了虛擬機器和伺服器上的vi、vim、notepad++、UE編輯器都沒有檢視到^M,差不多都開始懷疑是不是格式的問題,通過使用dos2unix命令將檔案的格式轉化。

再次cat -v 後