bash :エラーハンドリングのサブルーチン化の例

#!/bin/sh

chk_err () {
local param=$1

case "$param" in
"a" ) echo "error a."
return 1;;
"b" ) echo "error b."
return 2;;
esac
}

funcA () {
chk_err $1 || return $?

echo "funcA not finished"
}

## main ##
funcA $1
echo $?