Wie bestehe ich Argument in einem Bash -Skript??

Wie bestehe ich Argument in einem Bash -Skript??
Die meisten Benutzer von Linux Mint 20 sind festgefahren, wenn sie ein Argument in einem Bash -Skript übergeben. Sie können die Argumente an jedes Bash -Skript übergeben, wenn es ausgeführt wird. Es gibt mehrere einfache und nützliche Möglichkeiten, Argumente in einem Bash -Skript zu verabschieden. In diesem Artikelhandbuch werden Sie einige sehr einfache Möglichkeiten informieren, Argumente in Ihren Bash -Skripten zu bestehen und zu verwenden.

Übergeben von Argumenten mit Standardvariablen:

Erstellen Sie eine neue Datei mit einem beliebigen Namen mit dem Befehl "touch", e.G., "Datei.Sch".

$ Touch Dateiname

Öffnen Sie diese neu erstellte Datei und fügen Sie ihr ein Bash -Skript hinzu. Ich habe einige Standardvariablen hinzugefügt, e.G. "1 $", "$ 2" und "3 $" folglich. Was auch immer Argumente durch das Terminal geleitet werden, werden in den angegebenen Variablen gespeichert.

Sie müssen diese Datei mit der von "ausführen" ausführen./”Befehl, gefolgt von einigen Argumenten. Wie Sie auf dem Bild sehen können, tritt ein Fehler auf: Erlaubnis, wenn ich die Argumente überschritten habe: Erlaubnis abgelehnt. Dies liegt daran, dass diese Datei keine Ausführungsrechte hat.

$ ./Dateiname Argument1 Argument2 Argument

Um diese Datei für die Ausführungsrechte zu gewähren, verwenden Sie dazu den Befehl sudo „chmod“, dies zu tun.

$ sudo chmod +x Dateiname

Führen Sie nun die Datei erneut mit demselben obigen Befehl aus. Diesmal habe ich verschiedene Argumente vorgelegt. Sie werden sehen, dass die neu bestandenen Argumente in den Standardvariablen gespeichert sind.

Passieren Sie den Namen des Shell -Skripts als Argument:

Verwenden Sie nun die gleiche alte Datei “Datei.sh ”mit ein wenig Änderung in den Standardvariablen. Sie müssen die Variable "$ 0" im Skript wie gezeigt hinzufügen.

Beim Laufen gleich “./”Shell -Skriptbefehl, der Name Ihres Shell -Skripts, e.G. “./Dateiname "wird in der Variablen" $ 0 "als Argument gespeichert.

Übergeben von Argumenten als Array an Variable:

Beginnend mit derselben Datei “Datei“ Datei.SH ”, Sie müssen einige zusätzliche Zeilen in das alte Skript hinzufügen. Deklarieren Sie eine Variable mit dem Namen "Array". Fügen Sie eine Standardvariable "$@" hinzu, die die vom Benutzer als Array eingegebenen Argumente speichert. Diese Argumente werden an eine Variable „Array“ analysiert. In der letzten Zeile werden alle Argumente der Variablen „Array“ angezeigt, die nach der Indexnummer sortiert ist.

Führen Sie das aus./" Shell-Skript. Sie werden sehen, dass die Argumente oder Werte angezeigt werden, die als Array in "$@" an Variablen "Array" analysiert werden, aber nicht den Shell -Skriptnamen in der zweiten "Echo" -Anweisung. Sie haben die folgende Ausgabe.

$ ./Dateiname Argument1 Argument2 Argument

Verwenden Sie dieselbe Datei mit demselben Skript. Entfernen Sie einfach das "$ Array [3]" aus der letzten Zeile als klar im Bild.

Nach der Ausführung der “./”Befehl, sehen Sie eine ähnliche Ausgabe, die Sie im obigen Beispiel ohne Änderung erhalten haben.

Sie können das gleiche Ergebnis auch erhalten, indem Sie die letzte Zeile des Bash -Skripts durch ein einzelnes Wort ersetzen. Sie müssen nur in der Echo -Anweisung "$@" hinzufügen, und es zeigt die in diesem variablen Array vorhandenen Argumente an.

Also das "leiten"./”Befehl erneut, Sie erhalten die gleichen Ergebnisse.

Überprüfen Sie die Gesamtzahl der übergebenen Argumente:

Im Gegenteil, wenn Sie die Gesamtzahl der vom Benutzer übergebenen Argumente wissen möchten, können Sie dies auch tun. Zu diesem Zweck müssen Sie "$@" nur durch "$#" in "echo" ersetzen.

Wieder ausführen./”Befehl, Sie werden jetzt die gesamte Figur der Argumente sehen, die an das Skript übergeben werden. In unserem Fall werden 3 Argumente als Wert verabschiedet.

Zeile nach Linienausgabe von Argumenten erstellen:

Erstellen einer neuen Datei “Test.sh ”im Heimverzeichnis. Fügen Sie das Bash -Skript wie gezeigt hinzu.

Führen Sie nun denselben alten Befehl mit unterschiedlichen Argumenten aus. Erstens sehen Sie den Fehler: Erlaubnis abgelehnt.

Sie müssen den Befehl „chmod“ ausführen, um diese Datei Sudo -Berechtigungen zu gewähren. Danach führen Sie die "./”Shell Skript -Befehl erneut. Und Sie erhalten die Linie nach leitungssortierter Ausgabe von Argumenten.

Begrenzen Sie die Variable über die Argumentindexnummer:

Wenn Sie die Variable mithilfe ihrer Indexnummer begrenzen möchten, können Sie sie sehr einfach tun. Fügen Sie Curly -Klammern nach dem Zeichen "$" hinzu und fügen Sie die Argument -Indexnummer hinzu, die Sie vor anderen Argumenten anzeigen möchten.

Wenn die von den Benutzern angegebenen Argumente geringer sind als die in der Grenzvariablen angegebene Indexnummer, erhalten Sie einen leeren Argumentwert. Als Beispiel habe ich 4 Argumente vorgelegt, aber ich habe den zu angezeigten Argumentwert "05" angegeben. In dieser Situation wird die Variable leer angezeigt, da das fünfte Argument nicht bestanden wurde.

Wenn Sie jedoch die gleiche oder mehr Anzahl von Argumenten im Befehl übergeben, erhalten Sie den im Ergebnis angezeigten Wert wie gezeigt.

Überprüfen Sie spezifische Wertargumente:

Machen Sie eine neue Datei mit dem Namen „Überprüfen.Sh ”in Ihrem Heimverzeichnis. Fügen Sie das gleiche Bash -Skript hinzu, wie im folgenden Bild gezeigt. In diesem Skript haben wir eine Variable „var“, um den vom Benutzer übergebenen Argumentwert zu speichern. Dann haben wir eine "if" -serklärung, die prüft, ob der Argumentwert übereinstimmt oder nicht. Wenn der Argumentwert mit dem in der Klammern angegebenen Wert übereinstimmt, wird die erste „Echo“ -Anweisung ausgeführt. Wenn der Wert nicht übereinstimmt, wird die zweite Anweisung „Echo“ ausgeführt.

Wenn wir den Befehl Shell -Skript ausführen, erhöht er einen Fehler. Durch die Verwendung des Befehls „chmod“ können wir diesen Fehler korrigieren.

Führen Sie danach das Shell -Skript für die bestimmte Datei mit einem Argumentwert aus. In unserem Fall haben wir „AQSA“ als Argumentwert bereitgestellt, der dem Wert entspricht, der in der Klammern angezeigt wird. Das Bash -Skript führt also die erste "Echo" -Anweisung wie gezeigt aus.

Wenn Sie dagegen die verschiedenen Argumentwerte im Shell -Skript angeben, wird die andere Anweisung „Echo“ angezeigt. Hier habe ich "rimsha" als Argumentwert hinzugefügt, der sich von dem Wert unterscheidet, der in der IF -Anweisung angegeben ist. Das Bash -Skript führt also die zweite Anweisung "Echo" aus.

Abschluss:

Ich hoffe, dieser Leitfaden hat Ihnen ausreichend geholfen, einen starken Einblick in die Übergabe von Argumenten an Standardvariablen zu haben, den Argumentwert als Array an eine Variable zu übergeben, die Gesamtzahl der Argumente zu erhalten, die Leitung durch Leitungsausgabe von Argumenten einschränken, das Argument begrenzen Ausgabe mithilfe der Indexnummer, Überprüfung des spezifischen Wertarguments und vieles mehr.