Die Bash unterstützt denn Skriptschreiber leider nicht mit Optionen der Art
--lang-option. Hier ein ganz simpler Weg, wie man dieses Verhalten rudimentär emulieren kann.
## Bash hat kein getopt_long, wir wollen aber trotzdem sowas wie --scripts haben.
## Deswegen nehmen wir die Parameter manuell auseinander und sortieren alle --*
## Parameter erstmal aus
for opt in $@; do
case $opt in
--*)
LONG_OPTS="$LONG_OPTS $opt"
;;
*)
OPTS="$OPTS $opt"
;;
esac
done
## Alle "kurzen" Optionen wieder zu positional params machen
set -- $OPTS
######################################################################
Danach ist die Variable
$LONG_OPTS ein String, in dem durch Leerzeichen getrennt die einzelnen langen Optionen drin stehen. Diese kann man z.B. wie folgt auswerten:
for lo in $LONG_OPTS; do
case $lo in
--lange-option-1)
var_1="Wert 1"
;;
--lange-option-2)
echo "Hurra,. --lange-option-2 war gesetzt"
;;
*)
echo "Unbekannte Option: $lo"
esac
done
Trackback URL for this post:
http://www.rdoering.net/trackback/8