Website-Suche

Bash-Scripting: Befehl aus dem Skript ausführen


Bash-Skripte sind im Wesentlichen nur eine Reihe von Linux-Befehlen, die miteinander verkettet wurden, um etwas zu erreichen. Abhängig von Ihrem Code gibt es verschiedene Möglichkeiten, Befehle innerhalb des Skripts auszuführen.

In diesem Tutorial gehen wir einige Möglichkeiten zum Ausführen von Befehlen aus einem Bash-Skript auf einem Linux-System durch.

In diesem Tutorial lernen Sie:

  • So führen Sie den Befehl im Bash-Skript aus
  • So speichern Sie die Ausgabe des ausgeführten Befehls in einer Variablen

Bash-Scripting: Ausführen eines Befehls aus den Skriptbeispielen

Im Folgenden werden wir uns einige verschiedene Szenarien ansehen, um zu sehen, wie Befehle aus einem Bash-Skript ausgeführt werden. Sehen Sie sich alle Beispiele unten an, um zu erfahren, wie das geht.

  1. Normalerweise müssen wir nichts Besonderes tun, um einen Befehl innerhalb eines Bash-Skripts auszuführen. Sie schreiben den Befehl einfach so, wie Sie es in Ihrem eigenen Terminal tun würden. Schauen Sie sich das folgende Beispiel an, in dem wir drei Befehle in unserem Bash-Skript ausführen – echo, uptime und who.

    #!/bin/bash
    
    echo "Here we are executing three commands."
    uptime
    who

    Und so sieht es aus, wenn wir das Skript ausführen:

    
    ./test.sh
    Here we are executing three commands.
     23:39:36 up 1 min,  1 user,  load average: 3.36, 1.37, 0.51
    linuxconfig :0           2022-02-23 23:38 (:0)
    

    Dies unterscheidet sich nicht von der einfachen Eingabe der Befehle in Ihrem Terminal.

    
    echo "Here we are executing three commands."
    Here we are executing three commands.
    uptime
     23:40:05 up 2 min,  1 user,  load average: 2.68, 1.39, 0.54
    who
    linuxconfig :0           2022-02-23 23:38 (:0)
    
  2. Okay, das ist ganz einfach. Aber schauen wir uns nun ein anderes Szenario an. Was ist, wenn wir die Ergebnisse eines Befehls in einer Variablen im Bash-Skript speichern müssen? In diesem Fall verwenden wir eine Subshell mit der Syntax $ ( ) und speichern das Ergebnis in einer Variablen. So geht's.

    #!/bin/bash
    
    var=$(date)
    
    echo $var

    Und so sieht es aus, wenn wir das Skript ausführen:

    
    ./test.sh 
    Wed 23 Feb 2022 11:43:18 PM EST
    

    Was hier passiert, ist, dass wir den Befehl date innerhalb des Bash-Skripts ausführen, aber das Ergebnis in der Variablen var speichern, anstatt das Ergebnis sofort wiederzugeben. Am Ende des Skripts geben wir die variable var wieder, um zu sehen, dass das Datum darin gespeichert wurde.

    WUSSTEN SIE SCHON?
    Sie können auch Backticks ' ' anstelle einer Unterschale $ ( ) verwenden, um einen Befehl auszuführen. Aber die backticks-Methode ist älter und unterstützt keine Befehlsverschachtelung, daher sollten Sie es vorziehen, die Subshell in all Ihren zukünftigen Bash-Skripten zu verwenden.

  3. Die Subshell kann auch innerhalb des Befehls echo verwendet werden. Hier ist ein Beispiel dafür, wie es normalerweise gemacht wird.

    #!/bin/bash
    
    echo "The current date is $(date)"

    Und so sieht es aus, wenn wir das Skript ausführen:

    
    ./test.sh 
    The current date is Wed 23 Feb 2022 11:48:06 PM EST
    

    Es gibt einfachere und bessere Möglichkeiten, dieses Ergebnis zu erzielen, aber es ist nur ein Beispiel, damit Sie eine Vorstellung davon bekommen, wie die Unterschale funktioniert.

Abschließende Gedanken

In diesem Tutorial haben wir gesehen, wie man einen Befehl aus einem Bash-Skript unter Linux ausführt. Normalerweise funktioniert das Ausführen von Befehlen auf die gleiche Weise wie im Terminal, aber manchmal müssen Sie eine Subshell verwenden, um das Ergebnis eines Befehls in einer Variablen zu speichern.

Verwandte Artikel: