Syntax:
GetOpts Optstring Name [Args]
Optionen:
Einige meist gebrauchte GetOpts -Optionen werden hier erwähnt.
Schild | Beschreibung |
-o oder -optionen | Identifizieren Sie die Option Ein-Charakter. |
-L oder -Longoptionen | Identifizieren Sie Multi-Charakter-Optionen. |
-n oder -name | Melden Sie Fehler aus dem Befehl getopts |
-Q oder -quiet | Fehlerberichterstattung deaktivieren |
-T oder -test | Testen Sie GetOpts -Version |
-a oder -Alternativ | Ermöglichen Sie eine lange Option mit Single '-' ' |
Beispiel 1: Verwenden einer einzigen Möglichkeit
Dieses Beispiel zeigt die sehr einfache Verwendung von GetOpts -Befehl. Erstellen Sie eine Bash -Datei namens 'getopts1.SH 'mit dem folgenden Code, um den Code zu testen. Hier, während die Loop für die Option des GetOpts -Befehls fortgesetzt wird. Die Fallerklärung überprüft die Option. Wenn die Option 'C' ist, druckt das Skript "Meine Lieblingsfarbe ist blau". Wenn die Option 'F' ist, druckt das Skript 'mein Lieblings Essen ist Eis.'. Wenn die Option '-m' ist, druckt das Drehbuch "Mein Lieblingsfilm ist titanisch". Für einen anderen Optionswert "müssen Sie verwenden: [-c] oder [-f] oder [-m]" drucken.
#!/Bin/Bash
# Lesen Sie die Option und speichern Sie die Option Variable, $
während GetOpts "CFM" -Option; Tun
Fall $ Option in
c) #für Option c
echo "Meine Lieblingsfarbe ist blau"
;;
f) #für Option f
Echo "Mein Lieblings Essen ist Eis."
;;
m) #für Option m
Echo "Mein Lieblingsfilm ist Titanic"
;;
\? ) #Für ungültige Option
echo "Sie müssen verwenden: [-c] oder [-f] oder [-m]"
;;
ESAC
Erledigt
Führen Sie das Skript mit vier Optionen aus, '-c', '-f', '-m' und '-k', '-c', '-f', '-m' und '-k'.
$ bash getopts1.Sh -C
$ bash getopts1.Sh -f
$ bash getopts1.Sh -m
$ bash getopts1.Sh -K
Ausgang:
Beispiel 2: Verwenden Sie die Option mit einem einzigen Argument
Dieses Beispiel zeigt die Verwendung des Befehls getopts mit einem Argument. Erstellen Sie eine Bash -Datei namens 'getopts2.SH 'mit dem folgenden Code, um den Code zu testen. Hier ':' wird mit 'P' verwendet, um zu definieren, dass der Befehl mit der Option Argumentation einnimmt. Das Skript wird den Argumentwert mit einer anderen Zeichenfolge ausdrucken, wenn das Argument mit '-p' zur Laufzeit bereitgestellt wird. Wenn eine Option eher anstelle "-p" bereitgestellt wird, wird eine Fehlermeldung mit Optionswert angezeigt. Wenn die Option '-p' ohne Argument angibt, wird eine andere Fehlermeldung gedruckt.
#!/Bin/Bash
Während Getopts "P:" opt; Tun
Fall $ opt in
p) #print des Argumentwerts
echo "Ich mag $ optarg Programmierung"
;;
\? )
#print Option Fehler
echo "Ungültige Option: $ optarg" 1> & 2
;;
:)
#Druckargumentfehler
Echo "Ungültige Option: $ optarg erfordert ein Argument" 1> & 2
;;
ESAC
Erledigt
Führen Sie das Skript mit der Option -P und dem Argumentwert 'Bash' aus, mit nur Option -P und mit der Option -t -t.
$ bash getopts2.Sh -P Bash
$ bash getopts2.sh -p
$ bash getopts2.Sh -T
Ausgang:
Beispiel-3: Verwenden der Option mit mehreren Argumenten
Dieses Beispiel zeigt die Verwendung des Befehls getopts mit mehreren Argumenten. Erstellen Sie ein Bash -Skript namens GrtoPTS3.SH mit dem folgenden Code, um das Skript zu testen. Gemäß dem Skript werden von COMMA getrennte Argumentwerte aus der Befehlszeile bereitgestellt.
Hier werden die Option "-f" und die IFS-Variable verwendet, um die Argumente zu teilen und in einem Array, $ numarr. Wenn die von den Kommas getrennten Argumente vorlegen werden, druckt sie die Gesamtzahl der Argumente aus. Zwei Optionen unterstützen den Befehl. Die Summe der Argumentwerte wird berechnet und gedruckt, wenn '-a' die Option mit den Argumenten liefert. Die Multiplikation der Argumentwerte wird berechnet und gedruckt, wenn die Option "-m" die Argumente liefert.
#!/Bin/Bash
Während Getopts "A: M:" Opt; Tun
set -f; Ifs = ','
numarr = ($ 2)
echo "Gesamtzahl der Argumente = $ #numarr [@]"
Fall $ $ entscheiden
a) Ergebnis = 0
für i in "$ numarr [@]"; Tun
((Ergebnis = $ result+$ i)))
Erledigt
echo "Die Summe aller Argumente = $ Ergebnis" ;;
m) Ergebnis = 1
für i in "$ numarr [@]"; Tun
((Ergebnis = $ Ergebnis*$ i))
Erledigt
echo "Die Multiplikation aller Argumente = $ Ergebnis" ;;
*) Echo "Ungültige Option oder Argument"
Ausgang 1
ESAC
Erledigt
Führen Sie die Skripte mit der Option "-a" und drei Argumente mit "-m" -Option und drei Argumenten und der Option "-t" ohne Argument aus.
$ bash getopts3.Sh -A 3,2,5
$ bash getopts3.Sh -m 3,2,5
$ bash getopts3.Sh -T
Ausgang:
Beispiel-4: Verwenden Sie mehrere Optionen und Argumente
Dieses Beispiel zeigt die Verwendung des Befehls getopts mit mehreren Optionen und mehreren Argumenten. Erstellen Sie eine Bash -Datei namens 'getopts4.SH mit dem folgenden Code, um das Beispiel zu testen. Hier funktionieren zwei Optionen mit zwei Argumenten getrennt. Wenn keine der Optionen angezeigt wird, wird eine Fehlermeldung gedruckt.
#!/Bin/Bash
Während Getopts "n: m:" opt; Tun
Fall $ $ entscheiden
N)
#Lesen Sie das erste Argument
echo "Der Name des Schülers ist $ optarg"> & 2
;;
M)
#Lesen Sie das zweite Argument
Echo "und die Marke ist $ optarg"> & 2
;;
*)
#Printing -Fehlermeldung
echo "Ungültige Option oder Argument $ optarg"
;;
ESAC
Erledigt
Wenn das Skript mit der Option '-n' mit 'ella' und '-m' mit 85 ausgeführt wird, werden zwei Fallanweisungen trugen und drucken zwei Ausgänge aus. Wenn das Skript nur durch die Option '-n' mit 'ella' ausgeführt wird, wird nur eine Fallanweisung wahr und druckt eine Ausgabe aus. Wenn das Skript von '-p' Option ausgeführt wird, wird eine Fehlermeldung gedruckt.
$ bash getopts4.sh -n ella -m 85
$ bash getopts4.sh -n ella
$ bash getopts4.sh -p ella
Grundlegende Verwendungen des Befehls 'getopts' werden in diesem Tutorial unter Verwendung der obigen Beispiele angezeigt. Hoffe, nach dem Üben dieses Tutorials können Sie Befehlszeilenoptionen und Argumente in Ihrem Bash -Skript verwenden.