執行shell腳本報錯,但控制檯執行正常

問題:最近編寫shell腳本,遇到直接執行shell腳本怎麼也不成功,但是在控制檯輸入命令就能執行成功,報錯如下圖所示:
在這裏插入圖片描述
腳本內容如下:
在這裏插入圖片描述
腳本實現功能很簡單,且語法也沒問題,但是運行腳本就報錯,經過艱苦排查,發現問題在於 filebeat_kill.sh 是我在windows下編輯然後上傳到linux系統裏執行的。.sh文件的格式爲dos格式。而linux只能執行格式爲unix格式的腳本。

我們可以通過vi編輯器來查看文件的format格式。步驟如下:

1.首先用vi命令打開文件:vi filebeat_kill.sh
2.在vi命令模式中輸入 :set ff 然後回車,如下圖:
在這裏插入圖片描述
結果顯示文件的格式爲dos:
在這裏插入圖片描述
3.修改文件format爲unix

使用vi修改文件format,命令 :set ff=unix,回車
在這裏插入圖片描述
4.修改完成後,查看文件格式已改爲unix
在這裏插入圖片描述
再次執行 ./filebeat_kill.sh,執行成功
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章