Der Quellbefehl ist ein eingebauter Shell-Befehl zum Lesen und Ausführen von Befehlen aus einer Datei innerhalb der aktuellen Shell-Sitzung. Der source-Befehl wird häufig verwendet, um die Umgebungsvariable in der aktuellen Shell beizubehalten/zu ändern. Kurz gesagt, die Beschaffung eines Skripts führt Ausführungsbefehle in der aktuelle Schale.
Der source-Befehl ist nützlich für:
- Aktualisieren Ihrer aktuellen Shell-Umgebung
- So führen Sie ein Shell-Skript im Kontext der aktuellen Umgebung aus
- So importieren Sie eine Shell-Funktion in Ihr Skript
- Variablen aus einem Shell-Skript lesen
Syntax für Quellbefehl
Die Syntax für diesen integrierten Shell-Befehl ist für Menschen lesbar. Es benötigt eine Datei und wenn Argumente bereitgestellt werden, dienen sie als Positionsparameter für das übergebene Skript.
Quelle DATEINAME [ARGUMENTS]
Der . (Punkt) kann auch als Alternative für den Quellbefehl verwendet werden.
. DATEINAMEN [ARGUMENTS]
So verwenden Sie den Quellbefehl
Hier erkläre ich einige praktische Beispiele, bei denen Sie den Quellbefehl anwenden können.
1. Aktualisieren Sie Ihre aktuelle Shell-Umgebung
Als Benutzer können Sie in Ihrer aktuellen Shell-Umgebung einen Alias definieren. Um einen zu definieren für ls -l
Typ:
Alias ll=”ls -l”
Um es zu verwenden, geben Sie Folgendes ein:
ll
Obwohl die obige Liste die Dateien im aktuellen Verzeichnis im langen Format auflistet, funktioniert es nur für die aktuelle Shell-Sitzung. Um die Änderungen dauerhaft vorzunehmen, öffnen Sie die Datei ~/.bashrc und fügen Sie Folgendes hinzu:
Alias ll=”ls -l”
So aktualisieren Sie die aktuelle Shell Umgebungstyp:
Quelle ~/.bashrc
2. Führen Sie ein Shell-Skript im Kontext der aktuellen Shell-Umgebung aus
Ein Shell-Skript kennt die Variablen nicht, die Sie als Benutzer in Ihrer aktuellen Shell-Umgebung definieren. Der source-Befehl kann verwendet werden, um Ihr Shell-Skript im Kontext der aktuellen Sitzung auszuführen.
So definieren Sie einen temporären Variablentyp:
WEBSITE = example.mit
So erstellen Sie einen benutzerdefinierten Skripttyp:
#!/Behälter/bash
echo $WEBSITE
Save die Datei. So führen Sie es im Kontext des aktuellen Shell-Sitzungstyps aus:
Quelle ./myscript.sh
Die Ausgabe ist unten dargestellt.
example.mit
3. Importieren Sie eine Shell-Funktion
So definieren Sie einen benutzerdefinierten Shell-Skripttyp:
!#/Behälter/bash
foo() { echo “test” }
Save das obige als script.sh.
So importieren Sie die Funktion Geben Sie in Ihrer aktuellen Shell-Sitzung des obigen Skripts Folgendes ein:
Quellskript.sh
Um die zu verwenden foo
Funktionstyp:
foo
Die Ausgabe ist unten dargestellt.
Prüfung
4. Variablen aus einem Shell-Skript lesen
Geben Sie Folgendes ein, um ein Shell-Skript mit einigen Variablen zu erstellen:
#!/Behälter/bash
a=1 b=2 c=3
So lesen Sie die Variablen in einem anderen Shell-Skripttyp:
#!/Behälter/bash
Quelle obenscript.sh echo $a, $b, $c
Die Ausgabe sollte sein:
1, 2, 3
5. Befehle lesen und ausführen
Quellbefehl kann Befehle aus einer Datei lesen und ausführen. Lassen Sie uns eine Textdatei mit einer Reihe von Befehlen haben.
Für example Die Datei commands.txt hat folgenden Inhalt:
pwd
Datum
Die Ausgabe der Quelle
$ source firstexample.txt /home/developer Fr. Feb. 25 11:10:11:09 GMT 2021
6. Argumente an Funktionen übergeben
In diesem Abschnitt wird beschrieben, wie Sie den Parameter an die Funktion übergeben und dieselbe Funktion, die wir über den Quellbefehl wiederverwenden können.
Funktionen.sh !/usr /bin/bash
var1=$1 var2=$2 execute.sh !/usr/bin/bash
source function.sh 10 AA echo „var1 = $var1“ echo „var2 = $var2“ Output.sh var1 = 10 var2 = AA
Fazit
Das evaluierte Skript des Quellbefehls in der aktuellen Shell, während der Befehl exec in einer neuen Shell ausgeführt wird.
In diesem Artikel haben Sie vier praktische Beispiele für den Quellbefehl kennengelernt. Obwohl alle nützlich sind, ist das Wichtigste für Sie als Benutzer das Erste.