#!/bin/sh TITLE= LABEL= DEFAULT= REQUIRED=0 ERROR=0 HEIGHT=8 WIDTH=50 while getopts "t:l:d:h:w:r" option; do case "$option" in t) TITLE="$OPTARG";; l) LABEL="$OPTARG";; d) DEFAULT="$OPTARG";; h) HEIGHT="$OPTARG";; w) WIDTH="$OPTARG";; r) REQUIRED=1;; :) ERROR=1;; ?) ERROR=1;; esac done if [ $ERROR -eq 1 ]; then exit 1 fi VALUE= DO_ASK=1 while [ $DO_ASK -eq 1 ]; do VALUE="$(whiptail --title "$TITLE" --inputbox "$LABEL" $HEIGHT $WIDTH "$DEFAULT" 3>&1 1>&2 2>&3)" STATUS=$? if [ $STATUS -eq 0 ]; then if [ $REQUIRED -eq 1 -a -z "$VALUE" ]; then DO_ASK=1 else DO_ASK=0 fi else exit $STATUS fi done echo "$VALUE"