Quellbefehl unter Linux

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.