E
-eraz-
Tripel-As
Ich bau gerade mein erstes Skript mit dialog. Hatte bis jetzt auch nen guten Lauf, aber jetzt komm ich grad nicht mehr weiter. Im brauche ein Inputmenu mit mehreren Feldern. Dazu gibt es auch passende Samples. Aber ich steig nicht ganz durch was da genau passiert, kann mir das vielleicht jemand erklären?
Hier das Sample das mit dabei ist:
Wie die Schleife mit dem $returncode funktioniert versteh ich eigentlich am wenigsten.
Hier das Sample das mit dabei ist:
Code:
#! /bin/bash
# $Id: inputmenu,v 1.6 2004/09/19 17:59:14 tom Exp $
# 2002 - written by Tobias Rittweiler <tobrit@freebits.de>
: ${DIALOG=dialog}
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
1)
"$DIALOG" --clear --backtitle "An Example for the use of --inputmenu:" \
--yesno "Really quit?" 10 30
case $? in
0) break;;
1) returncode=99;;
esac
;;
0)
"$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
;;
3)
value="${value:8:${#value}}"
tag="${value%:*}"
item="${value#*: }"
case "$tag" in
Username) user="$item";;
UID) uid="$item";;
GID) gid="$item";;
HOME) home="$item";;
esac
;;
255)
echo "ESC pressed."
break
;;
esac
done
Wie die Schleife mit dem $returncode funktioniert versteh ich eigentlich am wenigsten.
Zuletzt bearbeitet: