diff options
Diffstat (limited to 'Build/source/utils/dialog/dialog-1.1-20080819/samples/inputmenu1')
-rwxr-xr-x | Build/source/utils/dialog/dialog-1.1-20080819/samples/inputmenu1 | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/Build/source/utils/dialog/dialog-1.1-20080819/samples/inputmenu1 b/Build/source/utils/dialog/dialog-1.1-20080819/samples/inputmenu1 new file mode 100755 index 00000000000..48f9a820cc6 --- /dev/null +++ b/Build/source/utils/dialog/dialog-1.1-20080819/samples/inputmenu1 @@ -0,0 +1,84 @@ +#! /bin/sh +# $Id: inputmenu1,v 1.4 2004/09/19 17:59:14 tom Exp $ +# +# "inputmenu" rewritten into Bourne shell. +: ${DIALOG=dialog} + +backtitle="An Example for the use of --inputmenu:" + +ids=`id|sed -e 's/([^)]*)//g'` +uid=`echo "$ids" | sed -e 's/^uid=//' -e 's/ .*//'` +gid=`echo "$ids" | sed -e 's/^.* gid=//' -e 's/ .*//'` + +user="$USER" +home="$HOME" + +returncode=0 +while test $returncode != 1 && test $returncode != 250 +do +exec 3>&1 +value=`$DIALOG --clear --ok-label "Create" \ + --backtitle "$backtitle" \ + --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 "$backtitle" \ + --yesno "Really quit?" 10 30 + case $? in + 0) + break + ;; + 1) + returncode=99 + ;; + esac + ;; + 0) + "$DIALOG" \ + --clear \ + --backtitle "$backtitle" \ + --msgbox "useradd \n\ + -d $home \n\ + -u $uid \n\ + -g $gid \n\ + $user" 10 40 + ;; + 3) + tag=`echo "$value" |sed -e 's/^RENAMED //' -e 's/:.*//'` + item=`echo "$value" |sed -e 's/^.*:[ ]*//' -e 's/[ ]*$//'` + + case "$tag" in + Username) + user="$item" + ;; + UID) + uid="$item" + ;; + GID) + gid="$item" + ;; + HOME) + home="$item" + ;; + esac + ;; + + 255) + echo "ESC pressed." + break + ;; + + esac +done |