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
54 lines
1.7 KiB
Bash
Executable File
54 lines
1.7 KiB
Bash
Executable File
#! /bin/bash
|
|
# $Id: inputmenu-stdout,v 1.8 2010/01/13 10:30:14 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
|
|
value="$("$DIALOG" --stdout --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")"
|
|
returncode=$?
|
|
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
|