原因:腳本文件是在Windows環境下編輯的,windows環境下,每一行的結尾是\n\r,而Linux環境下,每一行結尾是\n。使用cat -A filename 可以看到每行的結尾后面多出了一個^M,如圖
^M符號則是每一行多出來的\r的顯示。
解決方法:執行命令 sed -i 's/\r$//' filename
[bhsoft@localhost 桌面]$ sed -i 's/\r$//' test.sh
執行完命令之后再次查看腳本文件,發現沒有^M符號了,就可以執行腳本了。