Website-Suche

Bash-Skript - So überprüfen Sie die Anzahl der angegebenen Befehlszeilenargumente


Die Gesamtzahl der angegebenen Befehlszeilenargumente wird von a in der internen Variablen $# von bash gespeichert. Betrachten Sie ein folgendes Beispiel für ein einfaches Bash-Skript, das eine Gesamtanzahl der bereitgestellten Befehlszeilenargumente an die STDOUT ausgibt:


#!/bin/bash
echo $#

Speichern Sie das obige in einer Datei mit dem Namen z.B. arguments.sh und führen Sie Folgendes aus:


bash arguments.sh 1 2 3 4
4

Aus dem oben Gesagten können wir ersehen, dass unserem Skript vier durch Leerzeichen getrennte Argumente übergeben wurden, nämlich 1, 2, 3, 4. Bei der Ausführung des Skripts war ein Inhalt der internen Variablen $# ausgedruckt worden.

Wenn Sie ein Skript schreiben, müssen Sie manchmal Benutzer zwingen, eine korrekte Anzahl von Argumenten für Ihr Skript anzugeben. Mit der oben erwähnten internen Variablen $# und if-Anweisung kann dies wie folgt erreicht werden:


#!/bin/bash
if [ "$#" -ne 2 ]; then
    echo "You must enter exactly 2 command line arguments"
fi
echo $#

Das obige Skript wird beendet, wenn die Anzahl der Argumente ungleich 2 ist.


bash arguments.sh 1 
You must enter exactly 2 arguments
bash arguments.sh 1 2 3 4
You must enter exactly 2 arguments
bash arguments.sh 1 2
2

Verwandte Artikel: