diff options
Diffstat (limited to 'Build/source/utils/dialog/dialog-1.1-20080819/samples/inputmenu3')
-rwxr-xr-x | Build/source/utils/dialog/dialog-1.1-20080819/samples/inputmenu3 | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/Build/source/utils/dialog/dialog-1.1-20080819/samples/inputmenu3 b/Build/source/utils/dialog/dialog-1.1-20080819/samples/inputmenu3 new file mode 100755 index 00000000000..dd6d25ceec4 --- /dev/null +++ b/Build/source/utils/dialog/dialog-1.1-20080819/samples/inputmenu3 @@ -0,0 +1,105 @@ +#! /bin/sh +# $Id: inputmenu3,v 1.6 2004/12/19 23:18:53 tom Exp $ +# +# "inputmenu1" with defaultitem, help-button and item-help. +: ${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 +defaultitem="Username:" +while test $returncode != 1 && test $returncode != 250 +do +exec 3>&1 +value=`$DIALOG --clear --ok-label "Create" \ + --backtitle "$backtitle" \ + --help-button \ + --help-label "Script" \ + --default-item "$defaultitem" \ + --item-help \ + --inputmenu "Originally I designed --inputmenu for a \ +configuration purpose. Here is a possible piece of a configuration program." \ +20 60 10 \ + "Username:" "$user" "User login-name" \ + "UID:" "$uid" "User-ID (number)" \ + "GID:" "$gid" "Group-ID (number)" \ + "HOME:" "$home" "User's home-directory" \ +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) + case $value in + HELP*) + "$DIALOG" \ + --textbox "$0" 0 0 + ;; + *) + "$DIALOG" \ + --clear \ + --backtitle "$backtitle" \ + --msgbox "useradd \n\ + -d $home \n\ + -u $uid \n\ + -g $gid \n\ + $user" 10 40 + ;; + esac + ;; + 2) + "$DIALOG" \ + --textbox "$0" 0 0 + ;; + 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" + ;; + *) + tag= + ;; + esac + test -n "$tag" && defaultitem="$tag" + ;; + + 255) + echo "ESC pressed." + break + ;; + + esac +done |