4c8945a06b
dialog is distributed from GPLv2 to LGPLv2 and introduces a number of new features and a new and better libdialog API. The existing libdialog will be kept temporarily as libodialog for compatibility purposes until sade, sysinstall and tzsetup have been either updated or replaced. __FreeBSD_version is now 900030. Discussed on: -current Approved by: core Obtained from: http://invisible-island.net/dialog
61 lines
1.8 KiB
Bash
Executable File
61 lines
1.8 KiB
Bash
Executable File
#! /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="$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 \
|
|
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:" \
|
|
--msgbox "useradd \n\
|
|
-d $home \n\
|
|
-u $uid \n\
|
|
-g $gid \n\
|
|
$user" 10 40
|
|
;;
|
|
$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
|
|
;;
|
|
|
|
$DIALOG_ESC)
|
|
echo "ESC pressed."
|
|
break
|
|
;;
|
|
|
|
esac
|
|
done
|