Shell Script Problem
A. Dreyer (LUG-OWL)
ml10227 at adreyer.com
Sat Jan 23 01:44:19 CET 2010
Ralph Meyer wrote:
> Hallo Liste,
>
> ich versuch mich gerade etwas in Shell Programmierung.
> Nicht allzu einfach wie ich finde.
>
> Ich möchte mit dialog ein Menü generieren, wobei
> die einzelnen Optionen aus einer Datei kommen sollen.
> Aus verschiedenen Beispielen hab ich mir folgendes gebastelt.
Hi,
Ich habe mich dann mal daran gemacht dieses Beispiel etwas portabler zu
machen und zwar mit Original Bourne SHell..
Dabei herausgekommen ist das folgende Skript, welches eigentlich (außer
dialog) nur Standard-UNIX Programme verwendet:
--snip--
#!/bin/sh -fx
cfg=${1:-targets.conf}
test -r $cfg || cat >$cfg <<EOM
192.168.1.1 30
192.168.1.2 40
EOM
#exec 3<&0
exec 0<$cfg
n=1
while read item; do
menuitems="$menuitems $n \"$item\""
n=`expr $n + 1`
done
#exec 0<&3
tmp=`mktemp`
trap "rm -f $tmp" 0 1 2 3 15
eval "dialog --title 'Ziel auswaehlen' --menu 'Waehlen Sie ein Ziel oder Abbrechen' 14 40 6 $menuitems 2>$tmp"
if [ $? -gt 0 ]; then
clear
echo "Abgebrochen"
exit 0
fi
n=`cat $tmp`
selection=`awk "NR == ${n:-1} {print}" <$cfg`
echo "Ausgewaehlt $selection"
--snip--
.. nur mal so als Anregung - man muss nicht immer die BASHisms ausnutzen um schnell ans Ziel zu kommen.
Achim
--
Achim Dreyer || http://www.adreyer.com/
Network Security Consultant || Phone: +44 7756948229
Senior Unix & Network Admin || RHCE, RHCA, CCNA, CCSA, CCSE, CCSE+, CSCE
CAcert Assurer || JNCIS-FW
More information about the Linux
mailing list