diff options
Diffstat (limited to 'contrib/dialog/samples/inputmenu')
-rwxr-xr-x | contrib/dialog/samples/inputmenu | 83 |
1 files changed, 39 insertions, 44 deletions
diff --git a/contrib/dialog/samples/inputmenu b/contrib/dialog/samples/inputmenu index 3c80811..5053cda 100755 --- a/contrib/dialog/samples/inputmenu +++ b/contrib/dialog/samples/inputmenu @@ -1,65 +1,60 @@ -#! /bin/sh -# $Id: inputmenu,v 1.15 2012/07/06 18:11:21 tom Exp $ +#! /bin/bash +# $Id: inputmenu,v 1.10 2010/01/13 10:29:22 tom Exp $ # 2002 - written by Tobias Rittweiler <tobrit@freebits.de> . ./setup-vars -user="$USER" -uid=`id|sed -e 's/^uid=//' -e 's/(.*//'` -gid=`id|sed -e 's/^.*gid=//' -e 's/(.*//'` -home="$HOME" +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 \ + 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 - $DIALOG_CANCEL) - "$DIALOG" \ - --clear --backtitle "An Example for the use of --inputmenu:" \ - --yesno "Really quit?" 10 30 - case $? in - $DIALOG_OK) break;; - $DIALOG_CANCEL) returncode=99;; - esac - ;; - $DIALOG_OK) - "$DIALOG" \ - --clear --backtitle "An Example for the use of --inputmenu:" \ +2>&1 1>&3 ) + returncode=$? + exec 3>&- + case $returncode in + $DIALOG_CANCEL) + "$DIALOG" --clear --backtitle "An Example for the use of --inputmenu:" \ + --yesno "Really quit?" 10 30 + case $? in + $DIALOG_OK) break;; + $DIALOG_CANCEL) returncode=99;; + esac + ;; + $DIALOG_OK) + "$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 - ;; - $DIALOG_EXTRA) - value=`echo "$value" | sed -e 's/^RENAMED //'` - tag=`echo "$value" | sed -e 's/:.*//'` - item=`echo "$value" | sed -e 's/^[^:]*:[ ][ ]*//'` + ;; + $DIALOG_EXTRA) + value="${value:8:${#value}}" + tag="${value%:*}" + item="${value#*: }" - case "$tag" in - Username) user="$item" ;; - UID) uid="$item" ;; - GID) gid="$item" ;; - HOME) home="$item" ;; - esac - ;; + case "$tag" in + Username) user="$item";; + UID) uid="$item";; + GID) gid="$item";; + HOME) home="$item";; + esac + ;; - $DIALOG_ESC) - echo "ESC pressed." - break - ;; + $DIALOG_ESC) + echo "ESC pressed." + break + ;; - esac + esac done |