Der Quellenbefehl ist ein eingebauter Shell-Befehl, der zum Lesen und Ausführen von Befehlen aus einer Datei innerhalb der aktuellen Shell-Sitzung verwendet wird. Der Quellbefehl wird häufig verwendet, um die Umgebungsvariable in der aktuellen Shell beizubehalten/zu ändern. Kurz gesagt, das Sourcing eines Skripts führt Ausführungsbefehle in der aktuellen Shell aus .
Der Quellbefehl ist nützlich für:
- Aktualisieren Sie Ihre aktuelle Shell-Umgebung
- Um ein Shell-Skript im Kontext der aktuellen Umgebung auszuführen
- So importieren Sie eine Shell-Funktion in Ihr Skript
- Variablen aus einem Shell-Skript lesen
Syntax für Quellbefehl
Die Syntax für diesen eingebauten Shell-Befehl ist für Menschen lesbar. Es nimmt eine Datei und wenn Argumente bereitgestellt werden, dienen sie als Positionsparameter für das übergebene Skript.
Quelle DATEINAME [ARGUMENTE]
Die . (Punkt) kann auch als Alternative für den Quellbefehl verwendet werden.
Wie man den Quellbefehl verwendet
Hier erkläre ich einige praktische Beispiele, wo Sie den Quellbefehl anwenden können.
1. Aktualisieren Sie Ihre aktuelle Shell-Umgebung
Als Benutzer können Sie einen Alias in Ihrer aktuellen Shell-Umgebung definieren. Um einen für ls -l
zu definieren Typ:
alias ll ='ls -l'
Um es zu verwenden, geben Sie Folgendes ein:
ll
Obwohl das obige 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 hinzu:
alias ll ='ls -l'
Zum Aktualisieren der aktuellen Shell Umgebungstyp:
source ~/.bashrc
2. Führt 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 Quellbefehl kann verwendet werden, um Ihr Shell-Skript im Kontext der aktuellen Sitzung auszuführen.
Um eine temporäre Variable zu definieren, geben Sie Folgendes ein:
WEBSITE =example.com
Um ein benutzerdefiniertes Skript zu erstellen, geben Sie Folgendes ein:
#!/bin/bashecho $WEBSITE
Speicher die Datei. Um es im Kontext der aktuellen Shell-Sitzung auszuführen, geben Sie Folgendes ein:
source ./myscript.sh
Die Ausgabe wird unten gezeigt.
beispiel.com
3. Importieren Sie eine Shell-Funktion
Um ein benutzerdefiniertes Shell-Skript zu definieren, geben Sie Folgendes ein:
!#/bin/bashfoo() { echo "test" }
Speichern Sie das obige als script.sh.
Zum Importieren der Funktion Geben Sie in Ihrer aktuellen Shell-Sitzung des obigen Skripts Folgendes ein:
Quellscript.sh
Um den foo
zu verwenden Funktionstyp:
foo
Die Ausgabe wird unten gezeigt.
testen
4. Variablen aus einem Shell-Skript lesen
Um ein Shell-Skript mit einigen Variablen zu erstellen, geben Sie Folgendes ein:
#!/bin/basha=1b=2c=3
Um die Variablen in einem anderen Shell-Skript zu lesen, geben Sie Folgendes ein:
#!/bin/bashsource abovescript.shecho $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.
Beispielsweise hat die Datei commands.txt den folgenden Inhalt:
Datum
Die Ausgabe der Quelle
$ source firstexample.txt/home/developerFr 25. Feb 11:10:11:09 GMT 2021
6. Argumente an Funktionen übergeben
Dieser Abschnitt beschreibt, wie der Parameter an die Funktion übergeben wird, und dieselbe Funktion können wir über den Quellbefehl wiederverwenden.
functions.sh!/usr /bin/bash var1=$1 var2=$2execute.sh
!/usr/bin/bash source functions.sh 10 AA echo „var1 =$var1“ echo „var2 =$var2“Ausgabe.sh
var1 =10var2 =AA
Schlussfolgerung
Ausgewertetes Skript des Quellbefehls in der aktuellen Shell, während der Befehl exec in einer neuen Shell ausgeführt wird.
Durch diesen Artikel haben Sie vier praktische Beispiele für den Quellbefehl kennengelernt. Obwohl sie alle nützlich sind, ist die wichtigste für Sie als Benutzer die erste.