diff options
Diffstat (limited to 'Build/source/utils/dialog/dialog-1.1-20080819/samples/inputmenu')
-rwxr-xr-x | Build/source/utils/dialog/dialog-1.1-20080819/samples/inputmenu | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/Build/source/utils/dialog/dialog-1.1-20080819/samples/inputmenu b/Build/source/utils/dialog/dialog-1.1-20080819/samples/inputmenu new file mode 100755 index 00000000000..8dc9a88e1b2 --- /dev/null +++ b/Build/source/utils/dialog/dialog-1.1-20080819/samples/inputmenu @@ -0,0 +1,59 @@ +#! /bin/bash +# $Id: inputmenu,v 1.6 2004/09/19 17:59:14 tom Exp $ +# 2002 - written by Tobias Rittweiler <tobrit@freebits.de> +: ${DIALOG=dialog} + +user="$USER" ; uid="$UID" ; +gid="$GROUPS" ; home="$HOME" ; + +while [ ${returncode:-99} -ne 1 -a ${returncode:-99} -ne 250 ]; do + exec 3>&1 + value=$("$DIALOG" --clear --ok-label "Create" \ + --backtitle "An Example for the use of --inputmenu:" \ + --inputmenu "Originally I designed --inputmenu for a \ +configuration purpose. Here is a possible piece of a configuration program. \ +" 20 50 10 \ +"Username:" "$user" \ +"UID:" "$uid" \ +"GID:" "$gid" \ +"HOME:" "$home" \ +2>&1 1>&3 ) + returncode=$? + exec 3>&- + case $returncode in + 1) + "$DIALOG" --clear --backtitle "An Example for the use of --inputmenu:" \ + --yesno "Really quit?" 10 30 + case $? in + 0) break;; + 1) returncode=99;; + esac + ;; + 0) + "$DIALOG" --clear --backtitle "An Example for the use of --inputmenu:" \ + --msgbox "useradd \n\ + -d $home \n\ + -u $uid \n\ + -g $gid \n\ + $user" 10 40 + ;; + 3) + value="${value:8:${#value}}" + tag="${value%:*}" + item="${value#*: }" + + case "$tag" in + Username) user="$item";; + UID) uid="$item";; + GID) gid="$item";; + HOME) home="$item";; + esac + ;; + + 255) + echo "ESC pressed." + break + ;; + + esac +done |