home *** CD-ROM | disk | FTP | other *** search
/ Unix System Administration Handbook 1997 October / usah_oct97.iso / news / cnews.tar / conf / yesno < prev   
Text File  |  1990-10-02  |  497b  |  26 lines

  1. #! /bin/sh
  2. default="$2"
  3. while :
  4. do
  5.     echo "$1 [$default]? " | tr -d '\012' >/dev/tty    # portable echo -n
  6.     read answer
  7.     case "$answer" in
  8.     '')    answer="$default"    ;;
  9.     esac
  10.     case "$answer" in
  11.     n*|N*)    answer=no    ;;
  12.     y*|Y*)    answer=yes    ;;
  13.     esac
  14.     case "$answer" in
  15.     !*)    cmd="`expr \"$answer\" : '!\(.*\)'`"
  16.         trap : 2
  17.         ${SHELL-/bin/sh} -c "$cmd" >/dev/tty
  18.         trap 2
  19.         echo '!' >/dev/tty
  20.         ;;
  21.     yes|no)    break        ;;    # NOTE BREAK OUT
  22.     *)    echo "please answer \`yes' or \`no'" >/dev/tty    ;;
  23.     esac
  24. done
  25. echo "$answer"
  26.