yesno() { shopt -s extglob unset var YES='[Yy]?([Ee][Ss])' NO='[Nn]?([Oo])' while [[ "$var" != $YES && "$var" != $NO ]] do read var case $var in $YES) return 0 ;; $NO) return 1 ;; esac done } echo -e Test? yesno if [ -n "$?" ] then echo No else echo Yes fi