Getopts: Unterschied zwischen den Versionen
K Textersetzung - „Bash/Built-in“ durch „Bash/Builtins“ |
K Textersetzung - „Man-Pages“ durch „Man-Page“ |
||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''topic''' - | '''topic''' - Beschreibung | ||
= Beschreibung = | = Beschreibung = | ||
Zeile 10: | Zeile 10: | ||
= Links = | = Links = | ||
== Dateien == | == Dateien == | ||
== Man- | == Man-Page == | ||
== Intern == | == Intern == | ||
== Weblinks == | == Weblinks == | ||
Zeile 78: | Zeile 78: | ||
[[Kategorie:Bash/ | [[Kategorie:Bash/Builtin]] | ||
[[Kategorie:Linux/Befehl]] | [[Kategorie:Linux/Befehl]] | ||
[[Kategorie:Bash/Scripting]] | [[Kategorie:Bash/Scripting]] |
Aktuelle Version vom 6. November 2024, 12:26 Uhr
topic - Beschreibung
Beschreibung
Installation
Syntax
Parameter
Optionen
Konfiguration
Anwendung
Links
Dateien
Man-Page
Intern
Weblinks
Kontrollfragen
Testfrage 1
Antwort1
Testfrage 2
Antwort2
Testfrage 3
Antwort3
Testfrage 4
Antwort4
Testfrage 5
Antwort5
getopts
$ getopts OPTIONEN Variable
- Jeder Programmierer kennt den Aufwand beim Parsen der an ein Programm übergebenen Argumente und Optionen. Sind die Optionen erlaubt? Stimmt die Reihenfolge? Ist das Argument zulässig?...?
- Die meisten Programmiersprachen bringen in ihrem Sprachschatz eine Funktion mit, die eine solche Auswertung wesentlich vereinfacht. Die Funktion der Bash ist »getopts«.
- Dieses Kommando erlaubt einem Shellskript die unter Unix übliche Gruppierung von Optionen zu verwenden. Anstatt "-l -a -z" kann auch "-laz" oder "-a -lz"... geschrieben werden.
- Solche Angaben über die bereits besprochenen Positionsparameter auszuwerten, ist zwar denkbar, aber mehr als verzwickt.
- Im Zusammenhang mit der Bashprogrammierung werden wir »getopts« extensiv verwenden, an dieser Stelle soll ein kleines Beispiel das Gefühl für die Anwendung schulen.
- Ein Skript soll die Optionen "-a", "-l", "-F" und "-f <Datei>" verstehen.
- Beachten Sie, dass "-f" die Angabe eines Arguments erfordert. Die notwendige Zeichenkette der OPTIONEN ist "alf:F".
- Die Reihenfolge der Optionen ist unwichtig, entscheidend ist der Doppelpunkt hinter "-f:", der »getopts« mitteilt, dass dieser Option ein Argument folgen muss:
cat parseline #!/bin/sh while getopts alf:F Optionen; do case $Optionen in a) echo "Option a";; l) echo "Option l";; f) echo "Option f Argument ist $OPTARG";; F) echo "Option F";; esac done parseline -aF -f Option a Option F ./parseline: option requires an argument – f parseline -f so_gehts -l Option f Argument ist so_gehts Option l
- Benötigt eine Option ein Argument, kann auf dieses über die Variable OPTARGS zugegriffen werden
- OPTIND enthält zu jedem Zeitpunkt den Index auf die nächste von getopts zu betrachtende Option.
- In Shellskripten wird man Fehlermeldungen von getopts abfangen.
- Dies geht entweder über die Umleitung der Standardfehlerausgabe oder durch Setzen der Variable OPTERR auf 0.