]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - contrib/dialog/samples/inputmenu
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / contrib / dialog / samples / inputmenu
1 #! /bin/bash
2 # $Id: inputmenu,v 1.10 2010/01/13 10:29:22 tom Exp $
3 # 2002 - written by Tobias Rittweiler <tobrit@freebits.de>
4
5 . ./setup-vars
6
7 user="$USER"    ; uid="$UID"   ;
8 gid="$GROUPS"  ; home="$HOME"  ;
9
10 while [ ${returncode:-99} -ne 1 -a ${returncode:-99} -ne 250 ]; do
11        exec 3>&1
12        value=$("$DIALOG" --clear --ok-label "Create" \
13                           --backtitle "An Example for the use of --inputmenu:" "$@" \
14                           --inputmenu "Originally I designed --inputmenu for a \
15 configuration purpose. Here is a possible piece of a configuration program. \
16 " 20 50 10 \
17 "Username:" "$user" \
18 "UID:"      "$uid" \
19 "GID:"      "$gid" \
20 "HOME:"     "$home" \
21 2>&1 1>&3 )
22        returncode=$?
23        exec 3>&-
24        case $returncode in
25        $DIALOG_CANCEL)
26                "$DIALOG"  --clear --backtitle "An Example for the use of --inputmenu:" \
27                                --yesno "Really quit?" 10 30
28                case $? in
29                        $DIALOG_OK) break;;
30                        $DIALOG_CANCEL) returncode=99;;
31                esac
32                ;;
33        $DIALOG_OK)
34                "$DIALOG" --clear --backtitle "An Example for the use of --inputmenu:"  \
35                         --msgbox "useradd \n\
36                                 -d $home \n\
37                                 -u $uid \n\
38                                 -g $gid \n\
39                                 $user" 10 40
40                ;;
41        $DIALOG_EXTRA)
42                value="${value:8:${#value}}"
43                tag="${value%:*}"
44                item="${value#*: }"
45
46                case "$tag" in
47                        Username) user="$item";;
48                        UID) uid="$item";;
49                        GID) gid="$item";;
50                        HOME) home="$item";;
51                esac
52                ;;
53
54        $DIALOG_ESC)
55                 echo "ESC pressed."
56                 break
57                 ;;
58
59        esac
60 done