Wie überprüft man die Anzahl der Argumente in Bash?

Wie überprüft man die Anzahl der Argumente in Bash?

Sie können Ihren Bash-Skripten in Ubuntu 20 eine beliebige Anzahl von Befehlszeilenargumenten angeben.04 während der Ausführung. Manchmal werden die Skripte jedoch so dynamisch geschrieben, dass selbst der Programmierer nicht genau weiß, wie viele Argumente der Benutzer zur Laufzeit bereitgestellt werden, aber er möchte diese Gesamtzahl später in diesem Skript möglicherweise irgendwo verwenden.

In dieser Situation muss es einen Weg geben, durch den Sie die Gesamtzahl der Argumente überprüfen können, die an ein bestimmtes Bash -Skript übergeben wurden. Dafür hat Bash eine besondere Variable, ich.e., $#. Um herauszufinden, wie diese spezielle Variable funktioniert, müssen Sie alle in diesem Artikel geteilten Beispiele durchlaufen.

Methode zur Überprüfung der Anzahl der Argumente in Bash in Ubuntu 20.04:

Um Ihnen die Methode zur Überprüfung der Anzahl der Argumente zu erklären, die einem Bash -Skript in Ubuntu 20 vorgelegt wurden.04, wir haben einige Beispiele entworfen, die unten diskutiert werden:

Beispiel 1: Drucken der Gesamtzahl der Argumente in Bash:

Um einfach die Gesamtzahl der Argumente zu drucken, die an ein Bash -Skript in Ubuntu 20 übergeben wurden.04, Sie können ein Bash -Skript wie das im folgende Bild gezeigte Bildskript schreiben:

Die $# Special Variable hält immer die Gesamtzahl der Argumente, die an ein bestimmtes Bash -Skript übergeben wurden.

Zum Testen dieses Skripts haben wir es mit drei Argumenten oder Parametern wie folgt ausgeführt:

$ Bash Argumente.Sh 1 2 3

Hier, Argumente.SH ist der Name unserer Bash -Skriptdatei, während 1, 2 und 3 die Argumente sind, die wir an dieses Bash -Skript übergeben haben. Dies bedeutet, dass die Gesamtzahl der Argumente in diesem Testfall „3“ beträgt. Lassen Sie uns versuchen, herauszufinden, ob dieses Bash -Skript die Gesamtzahl der Argumente korrekt angezeigt hat oder nicht.

Wenn wir dieses Bash -Skript ausführen, wird die Gesamtzahl der an sie übergebenen Argumente angezeigt, die aus dem unten gezeigten Bild ersichtlich sind:

Beispiel Nr. 2: Drucken der Gesamtzahl der Argumente zusammen mit den Werten von Argumenten mit Positionsparametern in Bash:

Jetzt werden wir ein Bash -Skript schreiben, das die Werte der Argumente druckt, die an ein Bash -Skript und ihre Gesamtzahl übergeben werden. Dazu ist das Bash -Skript wie folgt:

In diesem Bash -Skript haben wir zunächst die Werte der drei Positionsparameter gedruckt. Dies bedeutet, dass in diesen drei Positionsparametern, welche Argumente an dieses Bash -Skript aus dem Terminal übergeben werden, übergeben werden. Danach haben wir einfach den Wert der $# speziellen Variablen gedruckt.

In unserem ersten Beispiel werden wir dieses Skript mit den gleichen Argumenten ausführen, die wir an das Bash -Skript weitergab. Wenn wir unser Bash -Skript ausführen, werden die Werte der drei bestandenen Argumente zusammen mit ihrer Gesamtzahl auch auf dem Terminal angezeigt, wie Sie aus dem unten gezeigten Bild sehen können:

Beispiel 3: Drucken der Gesamtzahl der Argumente zusammen mit den Werten von Argumenten mit der $@ Special Variable in Bash:

Das Ziel dieses Beispiels ist das gleiche wie unser zweites Beispiel; In diesem Beispiel werden wir jedoch eine andere spezielle Variable verwenden, ich.e., $@, zum Drucken der Werte der bestandenen Argumente. Grundsätzlich kann die $@ Special Variable alle Argumente enthalten, die an ein Bash -Skript übergeben werden. Um dies zu verstehen, können Sie sich das folgende Bash -Skript ansehen, das wir für Sie entworfen haben:

In diesem Bash -Skript haben wir einfach den Wert der $@ speziellen Variablen gedruckt, ich.e., Alle bestandenen Argumente und der Wert der $# Special Variable, i.e., Die Gesamtzahl der übergebenen Argumente am Terminal.

Um zu sehen, wie dieses modifizierte Bash -Skript funktioniert, haben wir es erneut mit den gleichen Parametern wie in den beiden obigen Beispielen ausgeführt. Als dieses Skript ausgeführt wurde, stellte sich heraus.

Beispiel 4: Drucken der Gesamtzahl der Argumente zusammen mit den Werten von Argumenten mit der $* Spezialvariablen in Bash:

Dies ist eine weitere modifizierte Version unseres zweiten Beispiels, da wir in diesem Beispiel die spezielle Variable $* verwenden, um die Werte der bestandenen Argumente am Terminal zu drucken. Wie die $@ Special Variable kann die $* Special Variable auch die Werte aller bestandenen Argumente an ein bestimmtes Bash -Skript halten. Das modifizierte Bash -Skript ist im Bild unten angezeigt:

In diesem Bash -Skript haben wir einfach den Wert der $* speziellen Variablen gedruckt, ich.e., Alle bestandenen Argumente und der Wert der $# Special Variable, i.e., Die Gesamtzahl der übergebenen Argumente am Terminal.

Um dieses Bash -Skript zu testen und seine Ausgabe zu visualisieren, haben wir es mit den gleichen Parametern wie in unseren ersten drei Beispielen ausgeführt. Diesmal auch, als unser Bash -Skript ausgeführt wurde, war die Ausgabe dieselbe wie die unserer zweiten und dritten Beispiele, wie Sie aus dem folgenden Bild sehen können:

Beispiel Nr. 5: Stellen Sie die Gesamtzahl der Argumente in Bash ein

Schließlich kann die $# Special Variable auch verwendet werden, um die Gesamtzahl der Argumente zu begrenzen, die an ein Bash -Skript in Ubuntu 20 übergeben wurden.04. Um dieses Phänomen zu verstehen, müssen Sie das im Bild unten gezeigte Bash -Skript durchgehen:

In diesem Bash -Skript haben wir eine "if" -serklärung, die auf die $# Special Variable angewendet wird. Wir wollten die Anzahl der Argumente auf "3" beschränken. Wenn die Argumente weniger als „3“ betragen, wird eine Fehlermeldung auf dem Terminal gedruckt. Wenn die Argumente größer als „3“ sind, wird erneut eine Fehlermeldung auf dem Terminal gedruckt. Wenn die angegebenen Argumente jedoch nur „3“ entsprechen, werden die Werte dieser Argumente auf dem Terminal gedruckt.

Wir wollten alle drei Bedingungen dieses Bash -Skripts testen. Dafür haben wir dieses Skript zuerst mit drei Parametern ausgeführt, und die entsprechende Ausgabe ist im folgenden Bild angezeigt:

Danach haben wir dieses Bash -Skript mit vier Argumenten ausgeführt, wodurch eine Fehlermeldung auf dem Terminal gedruckt wurde, wie im folgenden Bild gezeigt:

Schließlich haben wir dieses Bash -Skript mit zwei Argumenten ausgeführt, wodurch eine Fehlermeldung erneut auf dem Terminal gedruckt wurde, wie im folgenden Bild gezeigt:

Abschluss:

Mit der $# Special Variable können Sie die Gesamtzahl der Argumente, die an ein Bash -Skript übergeben wurden. Indem Sie die in diesem Artikel geteilten Beispiele überprüfen, hätten Sie eine klare Vorstellung von der Arbeit dieser speziellen Variablen. Daher können Sie jetzt solche Bash -Skripte ohne Sorgen schreiben, die die Gesamtzahl der angegebenen Argumente an diese Bash -Skripte zur Laufzeit auf Ubuntu 20 irgendwie verwenden.04.