模擬的にエラーを起こすスクリプトを用意する
error.sh
#!/bin/bash
exit 1
例外処理を呼びたいスクリプト
like_try_catch.sh
set -e
function if_trap
{
# エラーになった時の処理
echo "TRAP ERROR" !
}
trap if_trap ERR
{
# メインの処理
/bin/bash error.sh
echo "正常終了"
}
unset if_trap
trap if_trap ERR
の後の{ }
には特に意味は無い。
try~catchのある言語のtry{}
の中括弧にように見えるだけ。
(変数のスコープとかに影響しちゃう?)