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指令碼報錯:[: missing `]‘指令碼
- shell指令碼執行錯誤 $‘\r‘:command not found指令碼
- 解決shell指令碼錯誤$’r’ command not found指令碼
- 如何加密shell指令碼加密指令碼
- 如何呼叫python中的shell指令碼?Python指令碼
- 如何在Shell指令碼中逐行讀取檔案指令碼
- shell中set指令的用法
- 如何讓shell指令碼自殺指令碼
- 如何編寫高效的 Shell 指令碼指令碼
- 總結一篇shell除錯技巧及常見的指令碼錯誤除錯指令碼
- shell指令碼指令碼
- shell指令碼獲取函式返回值指令碼函式
- shell指令碼獲取時間格式化指令碼
- 如何使用zx編寫shell指令碼指令碼
- 執行指令碼寫入中間表錯誤返回錯誤資訊指令碼
- linux shell指令碼中 =~ 的作用Linux指令碼
- 常用shell指令碼指令碼
- shell指令碼案例指令碼
- Linux Shell指令碼Linux指令碼
- [20231102]除錯bash shell指令碼遇到的問題.txt除錯指令碼
- Shell 系統資訊監控指令碼指令碼
- shell指令碼中main函式中$#獲取不到指令碼傳入引數個數淺析指令碼AI函式
- shell指令碼(6)-shell陣列指令碼陣列
- 什麼是Shell指令碼?Shell指令碼在Linux運維工作中的地位!指令碼Linux運維
- shell指令碼整合json數值輸出從而獲取硬體資訊指令碼JSON
- Shell指令碼中的 /Dev/Null 用途指令碼devNull
- Bash 指令碼中的錯誤處理指令碼
- linux常用的shell指令碼Linux指令碼
- 執行shell指令碼報錯:-bash: ./test1.sh: /bin/bash^M: ...指令碼
- Linux c程式中獲取shell指令碼輸出(如獲取system命令輸出)LinuxC程式指令碼
- 傳送kafka訊息的shell指令碼Kafka指令碼
- shell指令碼總結指令碼
- shell 指令碼寫法:指令碼
- shell 指令碼加密 | shc指令碼加密
- 執行shell指令碼指令碼
- Shell 指令碼語句指令碼
- 初識shell指令碼指令碼
- 【指令碼】shell語法指令碼
- Shell指令碼 – 檢視網路介面資訊指令碼