GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie liest man Befehlszeilenargumente in Shell-Skripten?

Das Lesen von Benutzereingaben ist ein Teil der Gleichung. Im heutigen Artikel lernen wir, Kommandozeilenargumente in Shell-Skripten zu lesen. Shell-Skripte sind ein unverzichtbares Werkzeug für jeden Linux-Benutzer. Sie spielen eine wichtige Rolle bei der Automatisierung täglicher Aufgaben und der Erstellung eigener Befehle oder Makros.

Diese Shell-Skripte können vom Benutzer Eingaben in Form von Argumenten erhalten.

Wenn wir Argumente an ein Shell-Skript übergeben, können wir sie für die lokale Sequenzierung des Skripts verwenden. Wir können diese Argumente verwenden, um Ausgaben zu erhalten und sogar Ausgaben zu modifizieren, genau wie Variablen in Shell-Skripten.

Was sind Befehlszeilenargumente?

Befehlszeilenargumente sind Parameter, die an ein Skript übergeben werden, während es in der Bash-Shell ausgeführt wird.

Sie werden unter Linux auch als Positionsparameter bezeichnet.

Wir verwenden Befehlszeilenargumente, um die Position im Speicher anzugeben, an der der Befehl und die zugehörigen Parameter gespeichert sind. Das Verständnis der Befehlszeilenargumente ist wichtig für Leute, die Shell-Scripting lernen.

In diesem Artikel werden wir das Konzept von Befehlszeilenargumenten zusammen mit ihrer Verwendung in einem Shell-Skript durchgehen.

Wie Shell-Skripte Befehlszeilenargumente verstehen

Befehlszeilenargumente helfen dabei, Shell-Skripte für die Benutzer interaktiv zu machen. Sie helfen einem Skript dabei, die Daten zu identifizieren, mit denen es arbeiten muss. Daher sind Befehlszeilenargumente ein wesentlicher Bestandteil jeder praktischen Verwendung von Shell-Skripten.

Die Bash-Shell hat spezielle Variablen, die reserviert sind, um auf die Argumente zu zeigen, die wir durch ein Shell-Skript übergeben. Bash speichert diese Variablen numerisch ($1, $2, $3, … $n)

Hier ist das erste Befehlszeilenargument in unserem Shell-Skript $1, das zweite $2 und das dritte $3. Dies geht so weiter bis zum 9. Argument. Die Variable $0 speichert den Namen des Skripts oder des Befehls selbst.

Wir haben auch einige Sonderzeichen, die Positionsparameter sind, aber ihre Funktion ist eng mit unseren Befehlszeilenargumenten verbunden.

Das Sonderzeichen $# speichert die Gesamtzahl der Argumente. Wir haben auch $@ und $* als Platzhalterzeichen, die verwendet werden, um alle Argumente zu bezeichnen. Wir verwenden $$, um die Prozess-ID des aktuellen Shell-Skripts zu finden, während $? kann verwendet werden, um den Exit-Code für unser Skript auszudrucken.

Befehlszeilenargumente in Shell-Skripten lesen

Jetzt haben wir ein Verständnis für die Kommandozeilenargumente in Linux entwickelt. Jetzt ist es an der Zeit, dieses Wissen für die praktische Anwendung des netstat-Befehls zu nutzen.

In diesem Tutorial werden wir ein Beispiel durchgehen, um zu lernen, wie Sie die Befehlszeilenargumente in Ihrem Shell-Skript verwenden.

Zuerst erstellen wir ein Shell-Skript, um die Funktionsweise aller reservierten Variablen zu demonstrieren, die wir im vorherigen Abschnitt besprochen haben. Verwenden Sie nano oder einem beliebigen bevorzugten Editor Ihrer Wahl und kopieren Sie Folgendes.

Dies ist das Shell-Skript, das wir für diesen Zweck verwenden möchten.

#!/bin/sh
echo "Script Name: $0"
echo "First Parameter of the script is $1"
echo "The second Parameter is $2"
echo "The complete list of arguments is $@"
echo "Total Number of Parameters: $#"
echo "The process ID is $$"
echo "Exit code for the script: $?"

Sobald wir fertig sind, speichern wir das Skript als PositionalParameters.sh und beenden unseren Texteditor.

Jetzt öffnen wir die Befehlszeile auf unserem System und führen das Shell-Skript mit den folgenden Argumenten aus.

./PositionalParameters.sh learning command line arguments

Das Skript wird mit unseren angegebenen Argumenten ausgeführt und verwendet Positionsparameter, um eine Ausgabe zu generieren. Wenn Sie den Schritt richtig befolgt haben, sollten Sie den folgenden Bildschirm sehen.

Unsere Ausgabe zeigt die korrekte Ausgabe, indem die reservierten Variablen beim Aufruf durch das entsprechende Argument ersetzt werden.

Der Prozess wurde unter der Prozess-ID 14974 ausgeführt und mit dem Exit-Code 0 beendet.

Abschluss

Die Fähigkeit, Befehlszeilenargumente in Shell-Skripten zu lesen, ist eine wesentliche Fähigkeit, da Sie damit Skripte erstellen können, die Eingaben vom Benutzer entgegennehmen und auf der Grundlage eines logischen Pfads Ausgaben generieren können.

Mit Hilfe von Befehlszeilenargumenten können Ihre Skripte die sich wiederholende Aufgabe, mit der Sie sich möglicherweise täglich befassen müssen, erheblich vereinfachen, Ihre eigenen Befehle erstellen und gleichzeitig Zeit und Mühe sparen.

Wir hoffen, dass dieser Artikel Ihnen helfen konnte, zu verstehen, wie Sie die Befehlszeilenargumente in einem Shell-Skript lesen können. Wenn Sie Kommentare, Fragen oder Vorschläge haben, können Sie sich gerne in den Kommentaren unten an uns wenden.


Linux
  1. So verwenden Sie Eingaben in Ihren Shell-Skripten

  2. Nagios:So aktivieren Sie check_nrpe-Befehlszeilenargumente

  3. So verwenden Sie Befehlszeilen-Shell-Funktionen in Linux

  4. Befehlszeilenparameter in Shell-Skripten

  5. Wie kann ich Perl-One-Liner-Befehlszeilenskripts ordnungsgemäß ausführen?

So erstellen Sie Shell-Skripte

Wie verwende ich Proxy in der Linux-Befehlszeile?

So booten Sie in die Linux-Befehlszeile

So finden Sie die IP-Adresse in der Linux-Befehlszeile

Wie verwende ich if-else in Shell-Skripten?

Wie führe ich einen Befehl in einem Shell-Skript aus?