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

So speichern Sie einen Linux-Befehl als Variable im Shell-Skript

Shell-Scripting wird sehr häufig verwendet, um Dinge in Linux zu automatisieren. Es wird nicht nur für System- und Serveradministrationszwecke verwendet, sondern auch von normalen Linux-Benutzern zur Automatisierung alltäglicher Dinge auf ihren Systemen.

Ein Shell-Skript ist nichts anderes als eine Folge von Befehlen; die ein Kommandozeileninterpreter (z. B. Bash , Zsh ) werde rennen. Neben der Befehlsfolge gibt es Features wie Schleifen , bedingte Anweisungen , Variablen die in einem Shell-Skript verwendet werden kann.

Eine solche Funktion ist das Speichern eines ganzen Befehls in einer Variablen. Mal sehen, was wir damit meinen und wie es gemacht werden kann.

Grundsätzlich können Sie mit Linux-Shells jeden Befehl in einer Variablen als Zeichenfolge speichern. Dies ist nützlich für komplexe Inline-Anweisungen mit mehreren Befehlen, Umleitungen usw. Diese Variable kann dann an das Programm 'eval übergeben werden ‘ damit der Inhalt der Variablen als Befehl ausgeführt wird.

Um beispielsweise die Ausgabe des Befehls „cat test.txt | wc -l ' in einer Variablen namens 'cnt ‘, können wir die folgende Anweisung in der test.sh haben Skriptdatei:

#!/bin/bash

cnt="cat test.txt | wc -l"

Um diesen Befehl nun jederzeit auszuführen, übergeben wir die Variable als Argument an ‚eval ‘, wie unten gezeigt:

#!/bin/bash

cnt="cat test.txt | wc -l"

eval $cnt

Speichern und beenden Sie das Skript.

Lassen Sie uns nun den Befehl und das Skript selbst ausführen, um dies zu überprüfen.

$ cat test.txt | wc -l
$ chmod + test.sh
$ ./test.sh

Hinweis :Ersetzen Sie test.sh mit Ihrem Skriptnamen. Stellen Sie sicher, dass Ihre Skriptdatei Ausführungsrechte hat.

Wie im obigen Screenshot zu sehen, sind beide Ergebnisse gleich.

Schlussfolgerung

In diesem Artikel haben wir gesehen, wie man einen Linux-Befehl als Variable im Shell-Skript speichert. Obwohl dies im Shell-Skript gezeigt wurde, können Sie dasselbe auch in der Befehlszeile tun und die Variable dann an „eval“ übergeben ‘.

Wenn Sie Fragen oder Feedback haben, teilen Sie uns dies in den Kommentaren unten mit!


Linux
  1. So vergleichen Sie Zahlen und Zeichenfolgen im Linux-Shell-Skript

  2. Wie weist man die Ausgabe eines Befehls einer Shell-Variablen zu?

  3. Wie speichere ich das Ergebnis eines ausgeführten Shell-Befehls in einer Variablen in Python?

  4. So bereinigen Sie die Ausgabe des Linux-Befehls „script“.

  5. Wie wird die Befehlsausführung unter Linux serialisiert?

So führen Sie einen Linux-Shell-Befehl / ein Skript im Hintergrund aus

Quellbefehl unter Linux

So verwenden Sie den Declare-Befehl in der Linux Bash Shell

So führen Sie Shell-Skript als SystemD-Dienst in Linux aus

Exportbefehl in Linux erklärt

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