unions.sh という bash スクリプトがあります。
_show_help ()
{
echo "$0 [-t time]"
echo
echo "-CARD [num]"
echo " card number"
echo
exit 0
}
_cleanup ()
{
echo Cleaning Up..
exit 5
}
trap _cleanup 0 1 2 5 6
until [ -z "$1" ]
do
case "$1" in
"--CARD")
shift
if [ -z "$1" ]; then
_fatal_error "--CARD must have an argument"
fi
_card="$1"
;;
"-h"|"--help")
_show_help
;;
esac
shift
done
./unions.sh -h を実行すると、出力は
./unions.sh [-t time]
-CARD [num]
card number
Cleaning Up..
ここで疑問があります。ヘルプ関数で終了を使用すると、_cleanup 関数が呼び出されました。_cleanup 関数にも同じ出口があります。再び _cleanup 関数を呼び出さないのはなぜですか?