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.
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,uptimeundwho.#!/bin/bash echo "Here we are executing three commands." uptime whoUnd 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)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 $varUnd so sieht es aus, wenn wir das Skript ausführen:
./test.sh Wed 23 Feb 2022 11:43:18 PM ESTWas hier passiert, ist, dass wir den Befehl
dateinnerhalb des Bash-Skripts ausführen, aber das Ergebnis in der Variablenvarspeichern, anstatt das Ergebnis sofort wiederzugeben. Am Ende des Skripts geben wir die variablevarwieder, 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.Die Subshell kann auch innerhalb des Befehls
echoverwendet 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 ESTEs 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.
