logo

source-Befehl unter Linux mit Beispielen

Wenn Sie neu in der Linux-Welt sind, haben Sie vielleicht schon von Befehlen gehört, die verschiedene Aufgaben erledigen, aber einige wie der Befehl „source“ könnten auf den ersten Blick etwas verwirrend erscheinen. Mach dir keine Sorge; Lass es uns Schritt für Schritt aufschlüsseln.

Was ist der Quellbefehl?

Der Quellbefehl unter Linux ist wie ein Zauberstab, mit dem Sie Befehle aus einer Datei einfügen und direkt in Ihrem Terminal verwenden können. Es ist, als hätte man ein Rezeptbuch und kann die Rezepte sofort anwenden, ohne sie abzuschreiben.



Der Befehl „source“ ist eine integrierte Funktion der Shell, mit der in einer Datei gespeicherte Befehle direkt in der aktuellen Shell-Umgebung ausgeführt werden können. Wenn Sie den Befehl „source“ verwenden, liest dieser den Inhalt der angegebenen Datei, normalerweise eine Folge von Befehlen, und führt sie aus, als ob sie direkt in das Terminal eingegeben würden. Dieser Prozess findet im Kontext der aktuellen Shell-Sitzung statt, ohne dass ein neuer Prozess oder Interpreter entsteht. Wenn mit dem Befehl „source“ Argumente bereitgestellt werden, werden diese als Positionsparameter an die Befehle in der Quelldatei übergeben. Die Positionsparameter der aktuellen Shell-Sitzung bleiben jedoch unverändert, sofern sie nicht explizit durch die Befehle in der Quelldatei geändert werden. Der Befehl „source“ sucht in den Verzeichnissen, die im aufgeführt sind, nach der angegebenen Datei $PATH Umgebungsvariable . Wenn die Datei in keinem dieser Verzeichnisse gefunden wird, wird im aktuellen Verzeichnis gesucht. Es ist wichtig zu beachten, dass der Befehl „source“ keine Optionen bietet; Sein einziges Argument ist der Name der Datei, die als Quelle verwendet werden soll

Syntax des Quellbefehls unter Linux

Die Syntax des Quellbefehls ist einfach:

source FILENAME>

Oder sein Äquivalent:



. filename>

Hier bezieht sich „Dateiname“ auf die Datei, die die zu beziehenden Befehle enthält.

Beispiel eines Quellbefehls unter Linux

source-Befehl unter Linux mit Beispielen

Ausführung von Shell-Skripten:

Einer der Hauptanwendungsfälle des Quellbefehls ist die Ausführung von Shell-Skripten innerhalb der aktuellen Shell-Umgebung. Dadurch kann das Skript Variablen, Funktionen und andere Shell-Funktionen direkt bearbeiten.



Stellen Sie sich vor, Sie haben ein Shell-Skript namens „myscript.sh“, das eine Variable festlegt und dann deren Wert zurückgibt:

# myscript.sh
#!/bin/bash
# Legen Sie eine Variable fest

Avl-Bäume

MY_VARIABLE=Hallo, von myscript.sh

# Geben Sie die Variable zurück

echo $MY_VARIABLE

Lassen Sie uns nun den Quellbefehl verwenden, um dieses Skript in der aktuellen Shell auszuführen:

source myscript.sh>
Ausführen eines Shell-Skripts

Ausführen eines Shell-Skripts

Erläuterung:

  • Der Quellbefehl führt die Befehle in „myscript.sh“ direkt in der aktuellen Shell-Umgebung aus.
  • Die Variable „MY_VARIABLE“ wird in „myscript.sh“ gesetzt und als Echo ausgegeben, wodurch die Ausgabe innerhalb der aktuellen Shell-Sitzung erzeugt wird.

Umgebungsvariablen ändern:

Der Quellbefehl ist entscheidend für die Änderung der Umgebungsvariablen des aktuellen Hülse Sitzung. Dies ist besonders nützlich, wenn ein Skript Variablen exportieren muss, die sich auf die übergeordnete Shell-Umgebung auswirken.

# umwelt_setup.sh
#!/bin/bash
# Exportieren Sie eine Variable

export MY_ENV_VARIABLE=Dies ist meine Umgebungsvariable

Lassen Sie uns nun den Quellbefehl verwenden, um die Umgebungsvariablen innerhalb der aktuellen Shell zu ändern:

Was ist f5 auf der Tastatur?
Umgebungsvariable ändern

Umgebungsvariable ändern

source environment_setup.sh>

Um die Änderungen zu überprüfen, können Sie die Umgebungsvariable echoen:

echo $MY_ENV_VARIABLE>

Erläuterung:

  • Der Quellbefehl führt das Skript „environment_setup.sh“ aus, das die Variable „MY_ENV_VARIABLE“ exportiert.
  • Nach der Beschaffung des Skripts wird die Umgebungsvariable „MY_ENV_VARIABLE“ in der aktuellen Shell-Sitzung verfügbar, was durch die Echoausgabe ihres Werts nachgewiesen wird.

Konfigurationsdateien laden:

Viele Anwendungen unter Linux sind auf Konfigurationsdateien angewiesen. Mithilfe des Quellbefehls können diese Konfigurationsdateien direkt in die aktuelle Shell geladen werden, wodurch sichergestellt wird, dass Änderungen sofort wirksam werden.

Stellen Sie sich ein Szenario vor, in dem Sie Änderungen an Ihrer „.bashrc“-Konfigurationsdatei vorgenommen haben, beispielsweise das Hinzufügen eines neuen Alias:

# Fügen Sie einen Alias ​​zu .bashrc hinzu

alias myalias=’ls -la’

Lassen Sie uns nun den Quellbefehl verwenden, um die aktualisierte Konfigurationsdatei in die aktuelle Shell zu laden:

JSON-Dateien lesen
source ~/.bashrc>

Jetzt können Sie den neu hinzugefügten Alias ​​„myalias“ verwenden:

myalias>
Konfigurationsdatei wird geladen

Konfigurationsdatei wird geladen

Erläuterung:

  • Der Quellbefehl lädt die aktualisierte „.bashrc“-Datei in die aktuelle Shell-Sitzung und berücksichtigt dabei alle an Aliasen oder anderen Konfigurationen vorgenommenen Änderungen.
  • Nach der Beschaffung von „.bashrc“ steht der neu hinzugefügte Alias ​​„myalias“ zur sofortigen Verwendung zur Verfügung, wie durch die Ausführung und Auflistung des Inhalts des aktuellen Verzeichnisses gezeigt wird.

Shell-Funktionen definieren:

Innerhalb eines Skripts definierte Shell-Funktionen können in der aktuellen Shell-Sitzung verfügbar gemacht werden, indem das Skript, das diese Funktionen enthält, bereitgestellt wird.

Angenommen, Sie haben ein Skript namens „my_functions.sh“, das eine Shell-Funktion definiert:

# my_functions.sh
#!/bin/bash
# Definieren Sie eine Shell-Funktion

my_function() {
echo Dies ist meine benutzerdefinierte Funktion
}

Jetzt verwenden wir den Befehl source, um diese Funktion in der aktuellen Shell verfügbar zu machen:

source my_functions.sh>

Jetzt können Sie die Funktion direkt in der Shell aufrufen:

my_function>
Shell-Funktionen definieren

Shell-Funktionen definieren

Erläuterung:

  • Der Quellbefehl führt das Skript „my_functions.sh“ aus, das eine Shell-Funktion namens „my_function“ definiert.
  • Nach der Beschaffung des Skripts steht die Funktion „my_function“ zur sofortigen Verwendung in der aktuellen Shell-Sitzung zur Verfügung, wie durch den Aufruf und das Echo ihrer Nachricht demonstriert wird.

Abschluss

Zusammenfassend lässt sich sagen, dass der Befehl „source“ in Linux ein leistungsstarkes Tool zur nahtlosen Integration von Befehlen, Einstellungen und Funktionen aus externen Dateien direkt in die aktuelle Shell-Umgebung darstellt. Der Befehl „source“ fungiert als Verbindung zwischen der Terminalsitzung und Dateien, die Anweisungen enthalten, und führt die Befehle in der angegebenen Datei so aus, als ob sie direkt in das Terminal eingegeben würden. Dies ermöglicht die dynamische Änderung von Umgebungsvariablen, die Ausführung von Shell-Skripten, das Laden von Konfigurationsdateien und die Verfügbarkeit benutzerdefinierter Shell-Funktionen innerhalb der aktuellen Shell-Sitzung. Durch die Nutzung der Funktionen des Befehls „source“ können Linux-Benutzer die Produktivität und Effizienz bei Systemverwaltungs- und Entwicklungsaufgaben steigern und so ein neues Maß an Befehlszeilenfähigkeiten und -flexibilität einläuten.