2011-01-21 204 views
0

在我的Ubuntu引擎上設計了一個簡單的基於shell/bash的備份腳本並使其工作後,我已將其上傳到我的Debian服務器,該服務器在執行時會輸出許多錯誤。Bash腳本:打開錯誤?

我可以在我的Ubuntu機器上打開「錯誤處理」以便更容易調試嗎?

回答

2
  • SSH到服務器
  • -v-x或兩者同時運行腳本
  • 嘗試重複用戶,組和錯誤運行環境中終端窗口
    如果有必要,像「蘇-c‘上海-v腳本’運行程序otheruser

您也可能要管壞命令的結果,特別是如果通過cron(8)運行,進入/bin/logger,或許是這樣的:

sh -v -x badscript 2>&1 | /bin/logger -t badscript 

,然後去看看位於/ var/log/messages中。

1

改變你的家當線,包括跟蹤選項:

#!/bin/bash -x 

你也可以有擊掃描錯誤的文件,但不運行它:

$ bash -n scriptname 
+0

試過了 - 沒有在Ubuntu上顯示的錯誤,但在Debian上... – Industrial 2011-01-21 20:01:45

2

Bash允許您選擇性地打開調試,或完全使用set命令。這裏是關於如何調試bash腳本的good reference

命令set -x將打開腳本中任何位置的調試。同樣,set +x將再次關閉它。如果您只想查看部分腳本的調試輸出,這很有用。