在我的Ubuntu引擎上設計了一個簡單的基於shell/bash的備份腳本並使其工作後,我已將其上傳到我的Debian服務器,該服務器在執行時會輸出許多錯誤。Bash腳本:打開錯誤?
我可以在我的Ubuntu機器上打開「錯誤處理」以便更容易調試嗎?
在我的Ubuntu引擎上設計了一個簡單的基於shell/bash的備份腳本並使其工作後,我已將其上傳到我的Debian服務器,該服務器在執行時會輸出許多錯誤。Bash腳本:打開錯誤?
我可以在我的Ubuntu機器上打開「錯誤處理」以便更容易調試嗎?
-v
或-x
或兩者同時運行腳本您也可能要管壞命令的結果,特別是如果通過cron(8)
運行,進入/bin/logger
,或許是這樣的:
sh -v -x badscript 2>&1 | /bin/logger -t badscript
,然後去看看位於/ var/log/messages中。
改變你的家當線,包括跟蹤選項:
#!/bin/bash -x
你也可以有擊掃描錯誤的文件,但不運行它:
$ bash -n scriptname
Bash允許您選擇性地打開調試,或完全使用set
命令。這裏是關於如何調試bash腳本的good reference。
命令set -x
將打開腳本中任何位置的調試。同樣,set +x
將再次關閉它。如果您只想查看部分腳本的調試輸出,這很有用。
試過了 - 沒有在Ubuntu上顯示的錯誤,但在Debian上... – Industrial 2011-01-21 20:01:45