Gibt es einige integrierte Tools, die -x
erkennen und --xxxx
als Schalter und nicht als Argumente, oder müssen Sie alle Eingabevariablen durchgehen, auf Bindestriche testen und dann die Argumente danach parsen?
Akzeptierte Antwort:
Verwenden Sie getopts
.
Es ist ziemlich portabel, wie es in der POSIX-Spezifikation steht. Leider unterstützt es keine langen Optionen.
Wenn Sie nur kurze Optionen benötigen, typisches Verwendungsmuster für getopts
(mit nicht stiller Fehlerberichterstattung) ist:
# process arguments "$1", "$2", ... (i.e. "[email protected]")
while getopts "ab:" opt; do
case $opt in
a) aflag=true ;; # Handle -a
b) barg=$OPTARG ;; # Handle -b argument
?) ;; # Handle error: unknown option or missing required argument.
esac
done