質問を出してYesかNoの応答を取得する関数

関数名: GetYesNo
書式: GetYesNo "message"
目的: あるメッセージを出力しそれに対しての答えとしてYesかNoの答えを取得する
戻り値: Yes:0 No:1

GetYesNo() {
    if [ $# -eq 0 ]; then
        echo "Usage: GetYesNo message" 1>&2
        exit 1
    fi

    while :; do
        if [ "`echo -n`" = "-n" ]; then
            echo "$@\c"
        else
            echo -n "$@"
        fi
        read _ANSWER
        case "$_ANSWER" in
            [yY] | yes | YES | Yes ) return 0 ;;
            [nN] | no  | NO  | No  ) return 1 ;;
            * ) echo "Please enter y or n."   ;;
        esac
    done
}