PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bash benamte Parameter



celindir
18-11-2002, 08:18
Hallo zusammen,

Hier eine kleine Fingerübung für Euch:)

Ich habe folgendes vor:

Ein Bash script soll mit benamten Parametern aufgerufen werden.

z.B. script -p=/temp/ -c=-1 -o=output.out

Im script sollen dann die Werte der einzelnen Parameter extrahiert und genutzt werden.

path=/temp/
chapter=-1
output=output.out

Ich denke mir, das müsste grundsätzlich möglich sein, indem man den ganzen String mit $* ausgibt und daraus dann z.B. mit awk die gesuchte Zeichenkette extrahiert.

Hintergrund ist, dass es somit möglich wäre immer nur die Parameter mit an das Script zu übergeben, die gerade erforderlich sind, ohne die interne Nummerierung der Parameter $1-$n durcheinander zu bringen.

Bin mal gespannt, wie schnell eine Lösung da ist :)

Vielen Dank fürs Kopfzerbrechen

celindir
18-11-2002, 13:45
OK! Warum so kompliziert, wenn es auch einfach geht??
Ich hab bei Linuxforen.de eine Antwort bekommen, die die Sache viel einfacher mit getopts geht:



# usage: jpg2vcd -d directory -t timeout -l label [-b -r recdevice -s speed]

### converting input parameters to clear names
while getopts "d:t:l:br:s:" option

do
case $option in
d) directory=$OPTARG
echo Die Option d mit Argument $OPTARG
;;
t) timeout=$OPTARG
echo die Option t mit Argument $OPTARG
;;
l) label=$OPTARG
echo die Option l mit Argument $OPTARG
;;
b) burn=1
echo die Option b
;;
r) recdevice=$OPTARG
echo die Option r mit Argument $OPTARG
;;
l) speed=$OPTARG
echo die Option s mit Argument $OPTARG
;;
\?) echo falsche Argumente
;;
*) echo sollte nicht vorkommen
;;
esac
done


Ich werde es mal heute mal ausprobieren.

Gruß