Website-Suche

So weisen Sie die Ausgabe eines Linux-Befehls einer Variablen zu


Wenn Sie einen Befehl ausführen, erzeugt er eine Art Ausgabe: entweder das Ergebnis eines Programms, das erzeugt werden soll, oder Status-/Fehlermeldungen mit Einzelheiten zur Programmausführung. Manchmal möchten Sie möglicherweise die Ausgabe eines Befehls in einer Variablen speichern, um sie in einer späteren Operation zu verwenden.

In diesem Beitrag besprechen wir die verschiedenen Möglichkeiten, die Ausgabe eines Shell-Befehls einer Variablen zuzuweisen, die besonders für Shell-Skripting-Zwecke nützlich sind.

Um die Ausgabe eines Befehls in einer Variablen zu speichern, können Sie die Shell-Befehlsersetzungsfunktion in den folgenden Formularen verwenden:

variable_name=$(command)
variable_name=$(command [option ...] arg1 arg2 ...)
OR
variable_name='command'
variable_name='command [option ...] arg1 arg2 ...'

Nachfolgend finden Sie einige Beispiele für die Verwendung der Befehlsersetzung.

In diesem ersten Beispiel speichern wir den Wert des Befehls who (der anzeigt, wer am System angemeldet ist) in der Variablen CURRENT_USERS user:

CURRENT_USERS=$(who)

Dann können wir die Variable in einem Satz verwenden, der mit dem echo-Befehl angezeigt wird, etwa so:

echo -e "The following users are logged on the system:\n\n $CURRENT_USERS"

Im obigen Befehl bedeutet das Flag -e, dass alle verwendeten Escape-Sequenzen (z. B. \n für Newline) interpretiert werden. Um Zeit- und Speicherverschwendung zu vermeiden, führen Sie die Befehlsersetzung innerhalb des Echo-Befehls einfach wie folgt durch:

echo -e "The following users are logged on the system:\n\n $(who)"

Als nächstes soll das Konzept anhand der zweiten Form demonstriert werden. Wir können die Gesamtzahl der Dateien im aktuellen Arbeitsverzeichnis in einer Variablen namens FILES speichern und sie später wie folgt echoen:

FILES=`sudo find . -type f -print | wc -l`
echo "There are $FILES in the current working directory."

Das war's fürs Erste, in diesem Artikel haben wir die Methoden erklärt, mit denen man die Ausgabe eines Shell-Befehls einer Variablen zuweisen kann. Sie können Ihre Gedanken zu diesem Beitrag über den Feedback-Bereich unten hinzufügen.