linux-l: Kommandozeilen-Optionen in Bash auslesen
Guntram Trebs
gunni at mathematik.hu-berlin.de
Di Feb 20 13:43:55 CET 2001
On Tue, 20 Feb 2001, Mario Thaten wrote:
> Hallo Experten,
>
> ich hab mal eine Frage zu nem simplen Bash-Script. Ziel ist es, die
> Inhalte der Kommandozeilen-Parameter in ein Array auszulesen. Der mal
> von Rolf vorgeschlagene Weg mit "declare -a opts" ist unguenstig, da
> ich gern beim Aufruf
>
> ./script "Das erste Argument" argumentzwei ...
>
> "das erste Argument" als 1. Parameter im Array und nicht in 3 Parameter
> aufgeteilt haette. So weit, so gut. Ich habe folgendes Skript geschrieben:
>
> --8<--
>
> #!/bin/sh
>
> i=1
> while [ "$i" -le $# ]; do
> eval echo \$$i
> opts[$i]=`eval echo \$$i`
> i=$[$i+1]; # increase
> done
> echo ${opts[1]} "|" ${opts[2]}
>
> -->8--
>
> Wahrscheinlich sitze ich zwei Zentimeter vor der Loesung und blicks
> einfach nicht. Hilfe! :) Sofern ich "man bash_builtins" ueberblicke,
> kann mir getopts bei diesem Problem nicht helfen.
Genau:
opts[$i]=`eval echo \\$$i`
^ einfügen
Guntram
Mehr Informationen über die Mailingliste linux-l