Bash Wie führt man einen Befehl in einer Variable aus?
On November 22, 2021 by adminBash-Skripte können auf verschiedene Weise erstellt werden, und die meisten von uns sind mit der Ausführung einfacher Befehle innerhalb eines Bash-Skripts vertraut. Diese Befehle können jedoch auch in den Variablen der Bash gekapselt werden. Dieser Prozess ist als Befehlssubstitution bekannt und wird im Allgemeinen verwendet, um die Ausgabe eines Befehls in einer Variablen zu speichern, so dass Sie diesen Befehl nicht immer wieder explizit ausführen müssen, sondern einfach auf diese Variable zugreifen können, um die Ausgabe des Befehls zu erhalten, wann immer Sie wollen. In diesem Artikel zeigen wir Ihnen, wie dies möglich ist.
Hinweis: Alle im Folgenden gezeigten Szenarien wurden unter Ubuntu 20.04 durchgeführt. Sie funktionieren aber auch mit jeder anderen Linux-Variante auf die gleiche Weise.
Methode zum Ausführen eines Befehls in einer Variable in der Bash:
Um die Methode zum Ausführen eines Befehls in einer Variable in der Bash zu demonstrieren, stellen wir Ihnen drei verschiedene Szenarien vor, die wie folgt lauten:
Ausführen des in einer Variable gespeicherten „echo“-Befehls:
Dies ist das einfachste Szenario, bei dem unser Ziel darin besteht, den in einer Variable gespeicherten echo-Befehl auszuführen. Um dies zu erreichen, müssen Sie die folgenden Schritte ausführen:
Schritt Nr. 1: Erstellen eines Bash-Skripts:
Sie müssen ein Bash-Skript in Ihrem Home-Ordner erstellen, wofür Sie auf das Dateimanager-Symbol klicken müssen, wie Sie auf dem folgenden Bild sehen können:
Suchen Sie nun einen beliebigen Bereich in Ihrem Home-Ordner und klicken Sie mit der rechten Maustaste darauf, um ein Menü zu öffnen. Wählen Sie die Option „Neues Dokument“ aus diesem Menü und dann die Option „Leeres Dokument“ aus dem Untermenü. Auf diese Weise wird ein neues Dokument in Ihrem Home-Ordner erstellt. Benennen Sie nun das neu erstellte Dokument mit einem beliebigen Namen Ihrer Wahl, gefolgt von der Erweiterung .sh. In unserem Fall haben wir es CommandVar.sh.
Um ein Bash-Skript in diese Datei zu schreiben, doppelklicken Sie darauf, um sie zu öffnen, und geben Sie dann das im Bild unten gezeigte Skript in Ihre Bash-Datei ein. Die erste Zeile des Skripts, „#!/bin/bash“, zeigt, dass es sich bei dieser Datei um eine Bash-Datei handelt. Dann haben wir eine Variable mit dem Namen „test“ erstellt und ihr den Wert „$(echo „Hi there!“)“ zugewiesen. Immer wenn Sie einen Befehl in einer Variablen speichern wollen, müssen Sie diesen Befehl mit einem vorangestellten „$“-Symbol eingeben. In diesem Fall wollten wir den „echo“-Befehl in der Variablen „test“ speichern, also haben wir einfach den „echo“-Befehl gefolgt von einer zufälligen Nachricht eingegeben, in runde Klammern eingeschlossen und ein „$“-Symbol davor gesetzt. Wenn wir nun diesen „echo“-Befehl ausführen wollen, müssen wir auf die „test“-Variable zugreifen. Um zu überprüfen, ob der „echo“-Befehl, der in der „test“-Variablen gespeichert ist, erfolgreich ausgeführt werden kann oder nicht, haben wir die Ausgabe der „test“-Variablen auf dem Terminal ausgedruckt, indem wir einen weiteren „echo“-Befehl verwendet haben. Nachdem Sie dieses Skript eingegeben haben, müssen Sie die 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 den folgenden Befehl ein:
Wenn Sie die Eingabetaste drücken, um diesen Befehl auszuführen, werden Sie die folgende Ausgabe auf Ihrem Terminal sehen können. Der hervorgehobene Teil der Ausgabe ist die Ausgabe des „echo“-Befehls, der in der „test“-Variablen gespeichert wurde.
Ausführen des „seq“-Befehls, der in einer Variable gespeichert ist:
In diesem Szenario werden wir eine Zahlenfolge ausdrucken, indem wir den in einer Variablen gespeicherten „seq“-Befehl verwenden. Um dies zu erreichen, ä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 mit der oben beschriebenen Methode erstellt haben, und geben Sie das folgende Skript ein. Hier haben wir eine Variable namens „sequence“ erstellt. Unser Ziel ist es, die Zahlen von 1 bis 10 zu drucken, während wir den Befehl „seq“ verwenden. Zu diesem Zweck haben wir der Variablen „sequence“ den Wert „$(seq 1 10)“ zugewiesen. Sie können auch einen anderen Zahlenbereich Ihrer Wahl angeben, wenn Sie möchten. Die erste Zahl nach dem Befehl „seq“ gibt die untere Grenze der Sequenz an, während die zweite Zahl die obere Grenze bezeichnet. Nachdem Sie dieses Skript eingegeben haben, speichern Sie Ihre Datei und schließen Sie sie.
Schritt Nr. 2: Ausführen des geänderten Bash-Skripts über das Terminal:
Nun führen Sie Ihr Bash-Skript auf dieselbe Weise aus wie oben erklärt, und Sie werden die angegebene Sequenz auf Ihrem Terminal sehen können, wie im folgenden Bild gezeigt:
Ausführen des in einer Variablen gespeicherten Befehls „pwd“:
Sie können Ihr Arbeitsverzeichnis auch ausgeben, 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 folgenden Schritte befolgen:
Schritt Nr. 1: Ändern des oben erstellten Bash-Skripts:
Öffnen Sie die soeben geänderte Bash-Datei und geben Sie das im folgenden Bild gezeigte Skript 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, haben wir den Wert der Variable „working_directory“ mit dem Befehl „echo“ auf dem Terminal 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 geänderten Bash-Skripts über das Terminal:
Nun führen Sie dieses Bash-Skript auf die gleiche Weise aus, wie oben erklärt. Die Ausgabe dieses Bash-Skripts zeigt Ihnen das aktuelle Arbeitsverzeichnis an. Der hervorgehobene Teil der Ausgabe ist in der Tat die Ausgabe des „pwd“-Befehls.
Fazit:
Dieser Artikel gibt eine sehr gute Vorstellung davon, wie Sie einen Befehl ausführen können, der in einer Variable in der Bash gespeichert ist, und die gleiche Ausgabe erhalten können, die Sie erhalten hätten, wenn Sie den Befehl unabhängig davon ausgeführt hätten.
Schreibe einen Kommentar