1、windows下寫的sh腳本,在開發機上跑總是報錯:
看起來像是路徑變量被截斷了,所以找不到了.png
解決:將可運行的腳本模板,復制一份副本,然后改掉里面的代碼,即可運行;
將可運行的腳本,用ctrl+C復制到sublime中新建的sh文件中,不可運行;
根本原因:windows下文本換行是ctrl+LF,linux(unix)下認換行為LF,前者會摻入亂碼。
成功的腳本格式-notpad++.png
報錯的腳本格式.png
根本解決方法:將報錯腳本用notpad++打開,編輯->文檔格式轉換->轉為Unix(LF),如下:
腳本轉為unix格式.png
轉換后.png
之前沒遇到這個問題的原因:之前也一直在windows,用sublime編輯腳本,但都是直接傳到南天門(公司內部的數據研發平臺),測試運行。推測原因是南天門有一道轉換格式的過程~從南天門down腳本下來,與本地開發的腳本對比,發現符合推測。
sublime將文檔轉為unix方法:Preferences->settings->在User頁加一行配置
Preferences->settings.png
User頁加一行配置.png
2、shell腳本在linux系統上是白色,不是綠色
解決:chmod 755 xxxx.sh 轉為可執行文件(權限)后,即可顯示綠色