bash 錯誤跳出處理
使用bash指令時,當有錯誤時也會繼續執行,有時候想著如果執行錯誤時能自動跳出時,那應該就很棒了!
echo "123"
eavb "456" <---- 錯誤
echo "789"

基於上述原因,在尋找bash 和 sh 後,發現 bash裡面有指令適合來做這件事情,以下將依序說明,以及提供最後的範例。
#!/bin/bash
set -e
set -o pipefail
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
參數說明
- set -e :命令失敗時退出腳本
- set -o pipefail:確保腳本運行中,任何有失敗的指令,都會使腳本失敗並退出
- DIR: 若需要當前目錄, 使用該變量會自動打印
Example
#!/bin/bash
set -e
set -o pipefail
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
echo "123"
eavb "456"
echo "789"
