PageRenderTime 8ms CodeModel.GetById 1ms app.highlight 5ms RepoModel.GetById 1ms app.codeStats 0ms

/contrib/dialog/samples/inputmenu3

https://bitbucket.org/freebsd/freebsd-head/
Shell | 106 lines | 97 code | 5 blank | 4 comment | 6 complexity | b19f92b821c14f36956ca084778f21ae MD5 | raw file
  1#! /bin/sh
  2# $Id: inputmenu3,v 1.10 2010/01/13 10:32:51 tom Exp $
  3#
  4# "inputmenu1" with defaultitem, help-button and item-help.
  5
  6. ./setup-vars
  7
  8backtitle="An Example for the use of --inputmenu:"
  9
 10ids=`id|sed -e 's/([^)]*)//g'`
 11uid=`echo "$ids" | sed -e 's/^uid=//' -e 's/ .*//'`
 12gid=`echo "$ids" | sed -e 's/^.* gid=//' -e 's/ .*//'`
 13
 14user="$USER"
 15home="$HOME"
 16
 17returncode=0
 18defaultitem="Username:"
 19while test $returncode != 1 && test $returncode != 250
 20do
 21exec 3>&1
 22value=`$DIALOG --clear --ok-label "Create" \
 23	  --backtitle "$backtitle" \
 24	  --help-button \
 25	  --help-label "Script" \
 26	  --default-item "$defaultitem" \
 27	  --item-help "$@" \
 28	  --inputmenu "Originally I designed --inputmenu for a \
 29configuration purpose. Here is a possible piece of a configuration program." \
 3020 60 10 \
 31	"Username:"	"$user" "User login-name" \
 32	"UID:"		"$uid"  "User-ID (number)" \
 33	"GID:"		"$gid"  "Group-ID (number)" \
 34	"HOME:"		"$home" "User's home-directory" \
 352>&1 1>&3`
 36returncode=$?
 37exec 3>&-
 38
 39	case $returncode in
 40	$DIALOG_CANCEL)
 41		"$DIALOG" \
 42		--clear \
 43		--backtitle "$backtitle" \
 44		--yesno "Really quit?" 10 30
 45		case $? in
 46		$DIALOG_OK)
 47			break
 48			;;
 49		$DIALOG_CANCEL)
 50			returncode=99
 51			;;
 52		esac
 53		;;
 54	$DIALOG_OK)
 55		case $value in
 56		HELP*)
 57			"$DIALOG" \
 58			--textbox "$0" 0 0
 59			;;
 60		*)
 61			"$DIALOG" \
 62			--clear \
 63			--backtitle "$backtitle" \
 64			--msgbox "useradd \n\
 65				-d $home \n\
 66				-u $uid \n\
 67				-g $gid \n\
 68				$user" 10 40
 69			;;
 70		esac
 71		;;
 72	$DIALOG_HELP)
 73		"$DIALOG" \
 74		--textbox "$0" 0 0
 75		;;
 76	$DIALOG_EXTRA)
 77		tag=`echo "$value" |sed -e 's/^RENAMED //' -e 's/:.*/:/'`
 78		item=`echo "$value" |sed -e 's/^.*:[ ]*//' -e 's/[ ]*$//'`
 79
 80		case "$tag" in
 81		Username:)
 82			user="$item"
 83			;;
 84		UID:)
 85			uid="$item"
 86			;;
 87		GID:)
 88			gid="$item"
 89			;;
 90		HOME:)
 91			home="$item"
 92			;;
 93		*)
 94			tag=
 95			;;
 96		esac
 97		test -n "$tag" && defaultitem="$tag"
 98		;;
 99
100	$DIALOG_ESC)
101                echo "ESC pressed."
102                break
103                ;;
104
105	esac
106done