GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was ist Source Command in Linux und wie funktioniert es?

Der Quellbefehl führt Befehle aus einer Datei in der aktuellen Shell aus. Es kann auch verwendet werden, um Umgebungsvariablen zu aktualisieren, und um ehrlich zu sein, die primäre Verwendung des Quellbefehls besteht darin, Umgebungsvariablen zu aktualisieren.

source filename [options]

Sie können auch verwenden. (Punkt) anstelle des Quellbefehls wie folgt:

. filename [options]

Wie funktioniert der Quellbefehl?

Die Syntax dieses Befehls ist einfach, aber um ihn zu verstehen, ist ein etwas tieferer Blick auf einige Linux-Konzepte erforderlich. Wenn Sie ganz neu bei Linux oder Programmieren sind, haben Sie vielleicht nur eine vage Vorstellung davon, was eine Variable ist.

Wenn Sie diesen Begriff schon einmal gehört haben, aber nicht genau wissen, was er bedeutet, ist das in Ordnung! Denken Sie daran, dass wir alle genau am selben Ort beginnen. Niemand wacht morgens plötzlich als Systemadministrator oder Programmierer auf.

Ich werde eine kurze Erklärung geben, bevor ich fortfahre.

Sie können zum nächsten Header springen, wenn Sie bereits damit vertraut sind, wie man Variablen in Bash erstellt.

Variablenübersicht

Sie können jedes Bash-Terminal öffnen und neue Variablen erstellen. Eine Variable kann man sich als Platzhalter vorstellen, der verwendet werden kann, um Ihr System auf eine Information (Buchstaben, Zahlen oder Symbole) zu verweisen.

Schauen wir uns ein Beispiel an. Ich werde eine neue Variable namens name erstellen und ihr den Wert Christopher zuweisen.

In Bash geschieht dies mit der Formel:variable_name=your_variable . Fügen Sie keine Leerzeichen zwischen = ein Symbol und Ihren Text.

[email protected]:~$ name=Christopher
[email protected]:~$ echo $name
Christopher

Was passiert, wenn ich nur den Variablennamen eingebe?

[email protected]:~$ echo name
name

Wenn Sie dieses Symbol vergessen, gibt bash den eingegebenen Text zurück. Hier sage ich ihm, dass er „Name“ wiederholen oder drucken soll. Ohne das $-Symbol erkennt bash nicht, dass Sie die von Ihnen erstellte Variable verwenden möchten.

Ihre Variable wird dort eingefügt, wo sie aufgerufen wird. Ich kann es also auch in einen Satz wie diesen einfügen:

[email protected]:~$ echo "Hello, $name. $name is a great name. It's good to meet you."
Hello, Christopher. Christopher is a great name. It's good to meet you.

Es gibt viele Dinge, die Sie mit Variablen tun können, aber ich hoffe, dass diese Einführung ausreicht, damit jeder, der dies liest, versteht, wie sie funktionieren.

Umgebungsvariablen vs. Shell-Variablen

Lassen Sie uns für den nächsten Schlüssel zum Verständnis des Quellbefehls über Persistenz sprechen. Dies ist eine einfache Möglichkeit, über den Unterschied zwischen Hüllen- und Umgebungsinhalt nachzudenken. Je nach Kontext könnte man es auch im Sinne von „Portabilität“ sehen.

Einfach ausgedrückt, wenn Sie eine Variable in einer Terminal-Shell erstellen, geht sie verloren, sobald Sie diese Shell verlassen.

Im Gegensatz dazu hat eine Umgebungsvariable Persistenz in Ihrem Betriebssystem. Diese Variablen verwenden normalerweise nur Großbuchstaben, um sich zu unterscheiden.

Ein Beispiel hierfür ist Ihr Benutzername, der im Betriebssystem als $USER.

bekannt ist
[email protected]:~$ echo $USER
christopher

Okay, Sie haben also ziemlich viel Zeit damit verbracht, die Unterschiede zwischen Umgebungs- und Shell-Variablen durchzugehen. Was hat das mit Quelle zu tun? ? Alles, wirklich.

Andernfalls würde es keinen Unterschied machen, source auszuführen und bash . Um diesen Punkt zu veranschaulichen, habe ich noch eine Demonstration vorbereitet.

Quelle vs. Bash

Wenn Sie schon eine Weile mit Linux zu tun haben, sind Sie vielleicht auf diese Befehle gestoßen und dachten, sie würden dasselbe tun. Schließlich können beide Befehle verwendet werden, um ein Skript auszuführen.

Source funktioniert in der aktuellen Shell, im Gegensatz zum Ausführen von bash, das eine neue Shell erstellt. Dies ist nicht offensichtlich, da keine neuen Fenster angezeigt werden.

Wenn Sie mitmachen, müssen Sie in diesem Fall ein sehr einfaches Skript schreiben (nennen wir es echo.sh), das so aussieht:

#! bin/bash

echo $USER
echo $name

Bevor Sie irgendetwas anderes in Ihrem Terminal tun, weisen Sie Ihren Namen dem Variablennamen zu.

[email protected]:~$ name=chris

Als Nächstes werde ich Ihnen zeigen, was passiert, wenn Sie alle 3 Befehle in demselben Terminal ausprobieren, in dem Sie Ihre Variable zugewiesen haben.

[email protected]:~$ bash echo.sh 
christopher

[email protected]:~$ source echo.sh 
christopher
chris
[email protected]:~$ . echo.sh 
christopher
chris

Wie Sie sehen können, wurde Ihre lokale Variable nicht erkannt, als Sie Ihr Skript über bash ausgeführt haben .

Umgebungsvariablen mit Quellbefehl aktualisieren

Source kann auch verwendet werden, um Umgebungsvariablen in der aktuellen Shell zu aktualisieren. Eine häufige Anwendung für diese Aufgabe ist das Aktualisieren Ihres Bash-Profils in der aktuellen Shell.

Ein Benutzer möchte vielleicht sein Bash-Profil ändern, um beispielsweise einen Alias ​​zu erstellen. Normalerweise müssen Sie nach dem Speichern der Konfiguration ein neues Terminalfenster öffnen, damit die Änderungen wirksam werden.

[email protected]:~$ source .bashrc 

Wenn Sie dies ausführen, werden die Einstellungen in Ihrer aktuellen Shell aktualisiert, ohne dass Sie gezwungen sind, ein neues Terminal zu öffnen.

Fazit

Wir hoffen, dass Ihnen dieses Tutorial zum Quellbefehl gefallen hat. Bitte teilen Sie uns wie immer Ihre Meinung im Kommentarbereich mit. Wenn Ihnen dieser Beitrag gefallen hat, teilen Sie ihn bitte über die Schaltflächen unten in den sozialen Medien.


Linux
  1. Was ist ein Makefile und wie funktioniert es?

  2. Was ist NGINX? Wie funktioniert es?

  3. Was ist ein Webserver und wie funktioniert ein Webserver?

  4. So finden Sie heraus, was ein Linux-Befehl tut

  5. Was ist DNS und wie funktioniert es?

Linux-Dateibefehl:Was macht er und wie wird er verwendet?

Linux-Tail-Befehl:Was es ist und wie man es verwendet

So installieren und verwenden Sie den fd-Befehl unter Linux

Was ist der Grep-Befehl unter Linux? Warum wird es verwendet und wie funktioniert es?

Was ist BusyBox unter Linux? Wie benutzt man es?

Wie funktioniert Swap-Speicher in Linux?