原來的指令碼check.sh:
monfile="/var/log/test/testmon.txt"
logfile="/var/log/test/testmon.log"
touch $monfile
該指令碼是在window裡編輯的,編輯後上傳到linux的
問題:執行後,目錄下出現的檔案是testmon.txt??和testmon.log??
就是會有亂碼
修改過程:
執行sh -x check.sh,就發現後面多了\r:monfile=$'/var/log/test/testmon.txt\r',因為windows換行符是\r\n,而linux是\n,
修復把window轉換為linux:dos2unix check.sh
Shell 指令碼除錯
除錯功能是每一門程式語言都應該實現的重要特性,每個系統程式設計師都應該了解bash的除錯選項 1.使用選項 x,啟動shell指令碼的跟蹤除錯功能,將執行的每一條命令和輸出的結果輸出 test.sh檔案 bin bash foriin do echo i done echo script execu...
除錯shell指令碼
遇見莫名其妙的錯誤,先dos2uinux指令碼。echo命令是最有用的除錯指令碼工具之一。一般在可能出現問題的指令碼前後加入echo命令 使用bash命令引數進行除錯 引數 n 不會執行該指令碼,僅查詢指令碼語法是否有問題,並給出錯誤提示。v 在執行指令碼時,先將指令碼的內容輸出到螢幕上然後執行指令...
shell 指令碼除錯
發表於 2016 4 27 0 03 30 1693 人閱讀 分類 shell 除錯功能是每一門程式語言都應該實現的重要特性,每個系統程式設計師都應該了解bash的除錯選項 1.使用選項 x,啟動shell指令碼的跟蹤除錯功能,將執行的每一條命令和輸出的結果輸出 test.sh檔案 bin bash...