#! /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