shell指令碼中如何報錯即刻退出以及如何獲取子shell指令碼的錯誤資訊:set -o errexit
shell 指令碼中 : set -x 是開啟, set +x是關閉
set -e 表示有報錯即退出, set +e 表示關閉這種設定。 set -e 等價於 set -o errexit , set +e 等價於 set +o errexit 。
例子:
## Exit immediately if any untested command fails
set -o errexit
...... 很多shell指令碼。
## 到了需要獲取rman 子指令碼的報錯返回值,不能報錯馬上退出,這裡 Disable set -e
set +o errexit
nohup rman cmdfile=restore_ctrl.dat log=restore_ctrl.log
## Collect error message if rman command failed .
if [ "$?" != "0" ]; then
echo "Restore controlfile failed, please check the log file: $RMAN_BACKUP_PATH/script/restore_ctrl.log ."
cat restore_ctrl.log
exit
else
echo "Control file is restored . "
fi
## Enable set -e
set -o errexit
set -e 表示有報錯即退出, set +e 表示關閉這種設定。 set -e 等價於 set -o errexit , set +e 等價於 set +o errexit 。
例子:
## Exit immediately if any untested command fails
set -o errexit
## 到了需要獲取rman 子指令碼的報錯返回值,不能報錯馬上退出,這裡 Disable set -e
set +o errexit
nohup rman cmdfile=restore_ctrl.dat log=restore_ctrl.log
## Collect error message if rman command failed .
if [ "$?" != "0" ]; then
echo "Restore controlfile failed, please check the log file: $RMAN_BACKUP_PATH/script/restore_ctrl.log ."
cat restore_ctrl.log
exit
else
echo "Control file is restored . "
fi
## Enable set -e
set -o errexit
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-1799248/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【Shell】fix 1032報錯資訊的指令碼指令碼
- shell指令碼報錯:[: missing `]‘指令碼
- shell指令碼報錯:"[: =: unary operator expected"指令碼
- 如何加密shell指令碼加密指令碼
- shell 指令碼的除錯問題指令碼除錯
- 如何在Shell指令碼中逐行讀取檔案指令碼
- 關於shell中的pl/sql指令碼錯誤排查與分析SQL指令碼
- 如何呼叫python中的shell指令碼?Python指令碼
- 解決shell指令碼錯誤$’r’ command not found指令碼
- shell指令碼執行錯誤 $‘\r‘:command not found指令碼
- 如何讓shell指令碼自殺指令碼
- 如何在 Shell 指令碼中執行語法檢查除錯模式指令碼除錯模式
- shell中set指令的用法
- 如何編寫高效的 Shell 指令碼指令碼
- shell 指令碼報錯^M: syntax error near unexpected token指令碼Error
- Shell指令碼中獲取SELECT結果值的方法指令碼
- shell指令碼獲取時間格式化指令碼
- shell指令碼獲取函式返回值指令碼函式
- 總結一篇shell除錯技巧及常見的指令碼錯誤除錯指令碼
- shell指令碼指令碼
- 如何使用zx編寫shell指令碼指令碼
- Linux Shell指令碼中獲取本機ip地址方法Linux指令碼
- [Shell] Shell 生成 HTML指令碼HTML指令碼
- 執行指令碼寫入中間表錯誤返回錯誤資訊指令碼
- shell指令碼中main函式中$#獲取不到指令碼傳入引數個數淺析指令碼AI函式
- 【Shell】使用Shell指令碼快速完成SQL指令碼中重複枯燥的任務指令碼SQL
- 9、在Shell指令碼中呼叫其他指令碼指令碼
- shell 指令碼如何編寫-致初學者指令碼
- 如何用Shell指令碼生成XML檔案指令碼XML
- Linux下如何執行Shell指令碼Linux指令碼
- shell指令碼(二)指令碼
- shell指令碼心得指令碼
- shell指令碼案例指令碼
- 常用shell指令碼指令碼
- 巧用shell指令碼生成快捷指令碼指令碼
- ios 如何獲取WKWebview錯誤資訊iOSWebView
- Shell 系統資訊監控指令碼指令碼
- 從一個shell指令碼執行出錯聊起指令碼