Linux-Befehle

Linux „getopts“-Beispiel

Linux „getopts“-Beispiel
„getopts“ ist ein sehr nützlicher Befehl in Linux, der hauptsächlich in Bash-Skripte integriert ist, um Flags und Argumente als Eingaben vom Benutzer zu akzeptieren. Um die Verwendung dieses Befehls in Linux Mint 20 näher zu erläutern, werden wir in diesem Artikel zwei verschiedene Beispiele für seine Verwendung mit Ihnen teilen.

„getopts“-Beispiele in Linux Mint 20:

Zum einfacheren und besseren Verständnis des Befehls „getopts“ in Linux Mint 20 haben wir für Sie zwei Beispielszenarien entworfen. Bevor Sie mit diesen Szenarien fortfahren, können Sie das Hilfehandbuch des Befehls „getopts“ im Linux Mint 20-Terminal lesen, damit Sie sich einen Überblick über die Syntax dieses Befehls verschaffen können. Sie können das Hilfehandbuch dieses Befehls anzeigen, indem Sie den Befehl „help“ ausführen:

$ getopts --help

Das Hilfehandbuch des Befehls „getopts“ enthält eine kurze Beschreibung der Verwendung dieses Befehls zusammen mit seiner Syntax, wie in der folgenden Abbildung gezeigt:

Nachdem wir nun das Hilfe-Handbuch des „getopts“-Befehls durchgegangen sind, können wir mit unseren Beispielszenarien wie folgt fortfahren:

Fall Nr. 1: Flags an ein Bash-Skript für dessen Ausführung in Linux Mint 20 übergeben:

In diesem Beispiel erstellen wir ein Bash-Skript, das ein Flag als Eingabe vom Benutzer zusammen mit dem Ausführungsbefehl dieses Bash-Skripts entgegennimmt. Abhängig vom Wert des bereitgestellten Flags wird der jeweilige Ausgang angezeigt. Die detaillierte Beschreibung der Schritte dieses Szenarios lautet wie folgt:

Schritt # 1: Schreiben eines Bash-Skripts:

Zuerst schreiben wir ein Bash-Skript in unser Home-Verzeichnis. Wir haben diese Datei als getopts bezeichnet.Sch. Der Inhalt dieses Bash-Skripts wird im Bild unten gezeigt. Im unten gezeigten Bash-Skript haben wir eine "while"-Schleife, die auf dem Befehl "getopts" ausgeführt wird. Hier wird dieser „getopts“-Befehl verwendet, um ein Flag als Eingabe vom Benutzer zu nehmen. Der Wert dieses Flags kann entweder „r“, „y“ oder „g“ sein und die Farben „Rot“, „Gelb“ bzw. „Grün“ darstellen. Die Variable „option“ wird verwendet, um den Wert des vom Benutzer bereitgestellten Flags zu speichern. Dann haben wir eine „case“-Anweisung für den Wert des bereitgestellten Flags verwendet, die abhängig vom Wert des „Options“-Flags eine benutzerdefinierte Meldung anzeigt. Schließlich haben wir den Block „case“ mit der Anweisung „esac“ und den Block „do“ mit der Anweisung „done“ geschlossen.

Schritt # 2: Testen des Bash-Skripts:

Nachdem Sie unser Bash-Skript erstellt und gespeichert haben, ist es jetzt an der Zeit, es auszuführen. Wir werden alle Fälle einzeln testen testing. Zuerst führen wir das Bash-Skript mit dem Flag „-r“ aus, um zu sehen, ob es die richtige Ausgabe erzeugt oder nicht auf folgende Weise:

$ bash getopts.sch -r

Die benutzerdefinierte Ausgabe unseres Bash-Skripts mit dem Flag „-r“ ist in der folgenden Abbildung dargestellt:

Jetzt führen wir das Bash-Skript mit dem Flag „-y“ aus, um zu sehen, ob es die richtige Ausgabe erzeugt oder nicht auf folgende Weise:

$ bash getopts.sch -y

Die benutzerdefinierte Ausgabe unseres Bash-Skripts mit dem Flag „-y“ ist in der folgenden Abbildung dargestellt:

Jetzt führen wir das Bash-Skript mit dem Flag „-g“ aus, um zu sehen, ob es die richtige Ausgabe erzeugt oder nicht auf folgende Weise:

$ bash getopts.sch -g

Die benutzerdefinierte Ausgabe unseres Bash-Skripts mit dem Flag „-g“ ist in der folgenden Abbildung dargestellt:

Schließlich führen wir unser Bash-Skript mit einem zufälligen Flag aus, d.e. ein ungültiges Flag oder ein Flag, das in unserem Bash-Skript nicht erwähnt wird, sagt „-a“ auf folgende Weise:

$ bash getopts.sch -a

Diesmal wurde der Standardfall unseres Bash-Skripts ausgeführt, das eine Fehlermeldung anzeigt, da wir ein ungültiges Flag verwendet haben.

Fall #2: Übergabe von Flags zusammen mit Argumenten an ein Bash-Skript zur Ausführung in Linux Mint 20:

In diesem Beispiel erstellen wir ein Bash-Skript, das ein Flag und ein Argument als Eingabe vom Benutzer zusammen mit dem Ausführungsbefehl dieses Bash-Skripts entgegennimmt. Abhängig vom Wert des angegebenen Flags und Arguments wird die entsprechende Ausgabe erzeugt. Die detaillierte Beschreibung der Schritte dieses Szenarios lautet wie folgt:

Schritt # 1: Schreiben eines Bash-Skripts:

Das für diesen Fall verwendete Bash-Skript ist in der Abbildung unten gezeigt und ähnelt sehr dem, das wir für unseren Fall # 1 erstellt haben. Der einzige Unterschied ist, dass wir diesmal nicht mehrere Flags zulassen. Der Benutzer darf nur das Flag „-r“ eingeben. Der Doppelpunkt „:“ nach dem Flag „r“ im Bash-Skript zeigt jedoch an, dass der Benutzer zusammen mit dem Flag auch ein Argument angeben soll. Dieses Argument wird in der Standardvariablen „OPTARG“ gespeichert stored. Um den Wert des bereitgestellten Arguments mit dem „echo“-Befehl anzuzeigen, haben wir ein „$“-Symbol vor der „OPTARG“-Variablen verwendet.

Schritt # 2: Testen des Bash-Skripts:

Nachdem Sie dieses Bash-Skript gespeichert haben, ist es jetzt an der Zeit, es zu testen. Auch hier werden wir alle Fälle einzeln testen testing. Zuerst führen wir das Bash-Skript mit dem Flag „-r“ und einem Beispielargument „black“ aus, um zu sehen, ob es die richtige Ausgabe auf folgende Weise erzeugt oder nicht:

$ bash getopts.sh -r schwarz

Die benutzerdefinierte Ausgabe unseres Bash-Skripts mit dem Flag „-r“ und dem Argument „black“ ist in der folgenden Abbildung dargestellt:

Nun testen wir dieses Skript mit einem ungültigen Flag und einem gültigen Argument wie folgt:

$ bash getopts.Sch - ein Schwarzer

Diesmal wurde der Standardfall unseres Bash-Skripts ausgeführt, das eine Fehlermeldung anzeigt, da wir ein ungültiges Flag verwendet haben.

Jetzt werden wir dieses Bash-Skript ausführen, während wir das Flag weglassen und einfach ein gültiges Argument auf folgende Weise übergeben:

$ bash getopts.sh schwarz

Diesmal wird keine Ausgabe auf dem Terminal erzeugt, oder anders ausgedrückt, unser Bash-Skript wird nicht ausgeführt, da wir ein obligatorisches Flag übersprungen haben.

Schließlich führen wir dieses Bash-Skript aus, während wir das Argument weglassen und einfach das gültige Flag auf folgende Weise übergeben:

$ bash getopts.sch -r

Auch dieses Mal wurde der Standardfall unseres Bash-Skripts ausgeführt, das eine Fehlermeldung anzeigt, da wir das obligatorische Argument übersprungen haben.

Fazit:

Diese beiden Beispiele sind eine sehr schöne Darstellung der Verwendung des Befehls „getopts“ in einem Bash-Skript in Linux Mint 20. Sie können in bash sogar komplexere Szenarien erstellen und sie mit dem Befehl „getopts“ kombinieren, um mehr als ein Argument und Flags vom Benutzer als Eingaben zu verwenden.

Nützliche Tools für Linux-Spieler
Wenn Sie gerne unter Linux spielen, haben Sie wahrscheinlich Apps und Dienstprogramme wie Wine, Lutris und OBS Studio verwendet, um das Spielerlebnis ...
HD-Remastered-Spiele für Linux, die noch nie zuvor eine Linux-Version hatten
Viele Spieleentwickler und -herausgeber entwickeln HD-Remaster alter Spiele, um die Lebensdauer des Franchise zu verlängern. Bitte Fans, die Kompatibi...
So verwenden Sie AutoKey zur Automatisierung von Linux-Spielen
AutoKey ist ein Desktop-Automatisierungsdienstprogramm für Linux und X11, programmiert in Python 3, GTK und Qt. Mithilfe der Skript- und MACRO-Funktio...