Bash Wie führe ich einen Befehl in einer Variablen aus?

Bash How Execute Command Variable

Bash-Skripte können auf verschiedene Weise erstellt werden und die meisten von uns sind mit der Ausführung der einfachen Befehle innerhalb eines Bash-Skripts vertraut. Diese Befehle können jedoch auch innerhalb der Variablen in Bash gekapselt werden. Dieser Vorgang ist als Befehlsersetzung bekannt und wird im Allgemeinen verwendet, um die Ausgabe eines Befehls in einer Variablen zu speichern, damit Sie diesen Befehl nicht immer wieder explizit ausführen müssen, sondern einfach auf diese Variable zugreifen können, um die Ausgabe dieses Befehls zu erhalten wann immer du willst. In diesem Artikel zeigen wir Ihnen, wie dies möglich ist.

Hinweis: Alle unten gezeigten Szenarien wurden unter Ubuntu 20.04 ausgeführt. Sie funktionieren jedoch auch mit jeder anderen Linux-Variante genauso.



Methode zum Ausführen eines Befehls in einer Variablen in Bash:

Um die Methode zum Ausführen eines Befehls in einer Variablen in Bash zu demonstrieren, stellen wir Ihnen drei verschiedene Szenarien vor, die wie folgt lauten:



Ausführen des in einer Variablen gespeicherten echo-Befehls:

Dies ist das einfachste Szenario, in dem unser Ziel darin besteht, den in einer Variablen gespeicherten Echobefehl auszuführen. Um dies zu erreichen, müssen Sie die folgenden Schritte ausführen:



Schritt 1: Erstellen eines Bash-Skripts:

Sie müssen in Ihrem Home-Ordner ein Bash-Skript erstellen, für das Sie auf das Dateimanager-Symbol klicken müssen, wie Sie in der folgenden Abbildung sehen können:

Suchen Sie nun einen beliebigen Speicherplatz in Ihrem Home-Ordner und klicken Sie mit der rechten Maustaste darauf, um ein Menü zu starten. Wählen Sie die Option Neues Dokument aus diesem Menü und dann die Option Leeres Dokument aus dem untergeordneten Menü. Dadurch wird ein neues Dokument in Ihrem Home-Ordner erstellt. Benennen Sie nun dieses neu erstellte Dokument mit einem beliebigen Namen Ihrer Wahl um, gefolgt von der Erweiterung .sh. In unserem Fall haben wir es CommandVar.sh genannt.



Um ein Bash-Skript in diese Datei zu schreiben, doppelklicken Sie darauf, um es zu öffnen, und geben Sie dann das im Bild unten gezeigte Skript in Ihre Bash-Datei ein. Hier zeigt die erste Zeile des Skripts, d. h. #!/bin/bash, dass diese Datei tatsächlich eine Bash-Datei ist. Dann haben wir eine Variable namens test erstellt und ihr den Wert $(echo Hallo!) zugewiesen. Wenn Sie den Befehl in einer Variablen speichern möchten, müssen Sie diesem Befehl ein $-Symbol voranstellen. In diesem Fall wollten wir den echo-Befehl in der Testvariablen speichern, also haben wir einfach den echo-Befehl gefolgt von einer zufälligen Nachricht eingegeben und in runde Klammern eingeschlossen und ein $-Symbol davor platziert. Wenn wir diesen echo-Befehl jetzt ausführen möchten, müssen wir auf die Testvariable zugreifen. Um zu überprüfen, ob der in der Testvariable gespeicherte Echobefehl erfolgreich ausgeführt werden kann oder nicht, haben wir die Ausgabe der Testvariablen auf dem Terminal ausgedruckt, indem wir einen anderen Echobefehl verwenden. Nachdem Sie dieses Skript eingegeben haben, müssen Sie Ihre Datei speichern und schließen.

Schritt #2: Ausführen des Bash-Skripts über das Terminal:

Nun müssen Sie dieses Skript über das Terminal ausführen. Öffnen Sie also das Terminal in Ubuntu 20.04 und geben Sie dann den folgenden Befehl ein:

bashCommandVar.sh

Wenn Sie die Eingabetaste drücken, um diesen Befehl auszuführen, können Sie die folgende Ausgabe auf Ihrem Terminal sehen. Hier ist der hervorgehobene Teil der Ausgabe die Ausgabe des Echobefehls, der in der Testvariablen gespeichert wurde.

Ausführen des in einer Variablen gespeicherten seq-Befehls:

In diesem Szenario drucken wir eine Zahlenfolge mit dem in einer Variablen gespeicherten seq-Befehl. Um dies zu bewirken, ändern wir das oben erstellte Bash-Skript, indem wir die folgenden Schritte ausführen:

Schritt 1: Ändern des oben erstellten Bash-Skripts:

Öffnen Sie die Bash-Datei, die Sie in der obigen Methode erstellt haben, und geben Sie das folgende Skript ein. Hier haben wir eine Variable namens Sequenz erstellt. Unser Ziel ist es, die Zahlen von 1 bis 10 mit dem Befehl seq zu drucken. Dazu haben wir der Sequenzvariablen den Wert $(seq 1 10) zugewiesen. Sie können auch einen beliebigen anderen Nummernbereich Ihrer Wahl angeben, wenn Sie möchten. Die erste Zahl nach dem seq-Befehl gibt die untere Grenze der Sequenz an, während die zweite Zahl sich auf die obere Grenze bezieht. Nachdem Sie dieses Skript eingegeben haben, speichern Sie Ihre Datei und schließen Sie sie.

Schritt #2: Ausführen des modifizierten Bash-Skripts über das Terminal:

Führen Sie nun Ihr Bash-Skript auf die gleiche Weise wie oben beschrieben aus und Sie können die angegebene Sequenz auf Ihrem Terminal sehen, wie in der folgenden Abbildung gezeigt:

Ausführen des in einer Variablen gespeicherten 'pwd'-Befehls:

Sie können Ihr Arbeitsverzeichnis auch drucken, indem Sie den in einer Variablen gespeicherten Befehl pwd verwenden. Um dies zu demonstrieren, werden wir das oben erstellte Bash-Skript noch einmal ändern, indem wir die unten genannten Schritte ausführen:

Schritt 1: Ändern des oben erstellten Bash-Skripts:

Öffnen Sie die soeben geänderte Bash-Datei und geben Sie das im folgenden Bild gezeigte Skript darin ein. In diesem Skript haben wir eine Variable namens working_directory erstellt und ihr den Wert $(pwd) zugewiesen. Der Befehl pwd speichert einfach seine Ausgabe, d. h. das aktuelle Arbeitsverzeichnis, in der Variablen working_directory. Um sicherzustellen, dass der Befehl pwd korrekt ausgeführt wurde oder nicht, haben wir den Wert der Variablen working_directory auf dem Terminal mit dem Befehl echo ausgegeben. Speichern Sie nun diese Datei und schließen Sie sie, nachdem Sie das geänderte Bash-Skript eingegeben haben.

Schritt #2: Ausführen des modifizierten Bash-Skripts über das Terminal:

Führen Sie nun dieses Bash-Skript auf die gleiche Weise wie oben beschrieben aus. Die Ausgabe dieses Bash-Skripts zeigt Ihnen das aktuelle Arbeitsverzeichnis. Der hervorgehobene Teil der Ausgabe ist tatsächlich die Ausgabe des pwd-Befehls.

Abschluss:

Dieser Artikel gibt eine sehr gute Vorstellung davon, wie Sie einen Befehl ausführen können, der in einer Bash-Variablen gespeichert ist, und die gleiche Ausgabe erhalten, die Sie erhalten hätten, wenn Sie den Befehl unabhängig ausgeführt hätten.