Hi, gibt es eine intelligentere Möglichkeit auf die Parameter zuzugreifen, als $1 ... ?
Also z.B. auf eine Option zuzugreifen, egal in welcher Reihenfolge sie angegeben wurde?
Beispiel
./bashscript -o test -v Blah
{gib den Wert des o-Parameters aus}
In PERL geht sowas ja...
Parameter eines Bash Scriptes
-
- Beiträge: 444
- Registriert: 17.07.2003 15:55:41
in der Bash auch ...
Es gibt das Bash-Kommando "getopts" und das Programm "getopt"
Hier ein Beispiel mit "getopts":
Es gibt das Bash-Kommando "getopts" und das Programm "getopt"
Hier ein Beispiel mit "getopts":
Code: Alles auswählen
root:~/tmp# cat x.sh
#!/bin/bash
usage="`basename $0` -o <val> -v <val> <else>"
while getopts ":o:v:" Option; do
case $Option in
o ) OPT_O=$OPTARG;;
v ) OPT_V=$OPTARG;;
\? )
echo $usage
exit 1;;
esac
done
shift $(($OPTIND - 1))
echo opt_o=$OPT_O
echo opt_v=$OPT_V
echo else=$*
root:~/tmp# ./x.sh -o test -v Blah xxx
opt_o=test
opt_v=Blah
else=xxx