So lösen Sie Probleme mit Umgebungsvariablen, die nicht in ein Bash -Skript festgelegt werden

So lösen Sie Probleme mit Umgebungsvariablen, die nicht in ein Bash -Skript festgelegt werden

Umgebungsvariablen werden verwendet, um das Verhalten einer Umgebung zu ändern. Diese Variablen können die Funktionsweise von Software oder Anwendung ändern. Das Einrichten von Umgebungsvariablen hat mehrere Anwendungen in Bash. Solche Variablen können verwendet werden, um alles zu speichern.

Darüber hinaus verfügt jedes System über bestimmte Umgebungsvariablen, die es bei der Interaktion mit dem Benutzer verwendet. In diesem Artikel werden wir uns zunächst die Grundlagen von Bash -Skripten ansehen und Umgebungsvariablen einrichten und manipulieren und dann einige Heilmittel für die damit verbundenen Probleme durchlaufen.

Skripte verprügeln

In Ubuntu kann fast jede Aufgabe entweder mit der grafischen Benutzeroberfläche oder der Befehlszeilenschale ausgeführt werden. Einige Aufgaben werden eher mit der Shell als mit der GUI erledigt. Skripte sind Dateien, die aus Befehlen bestehen. Alle diese Befehle werden ausgeführt, wenn die Skriptdatei ausgeführt wird. Bash -Skripte sind solche Skripte, die den Bash -Interpreter verwenden.

Die Erweiterung der Skripte ist .Sch. Skripte können mit einem beliebigen Texteditor geschrieben werden. Jedes Bash -Skript beginnt mit der Zeile #!/bin/bash, das dem System aufweist, den Bash -Dolmetscher zu verwenden.

Umgebungsvariablen

Umgebungsvariablen haben die Eigenschaften von Prozesslokalität, Vererbung und Fallempfindlichkeit. Die Prozesslokalität bedeutet, dass die Umgebungsvariablen ausschließlich der spezifischen Instanz der Schale sind, sofern nicht anders angegeben. Vererbung bezieht sich auf die Eltern-Kind-Beziehung zwischen verschiedenen Umgebungen.

Fallempfindlichkeit, wie der Name schon sagt, bedeutet, dass die Umgebungsvariablen für Falländerungen empfindlich sind. Im Allgemeinen hängt das Format von Umgebungsvariablen von seinem übergeordneten System ab. Alle Umgebungsvariablen haben jedoch zwei gemeinsame Merkmale; variabler Name und gespeicherter Wert.

Der variable Name kann alles sein, aber der Wert muss im Format mit dem Umgebungsvariablentyp entsprechen. Dies ist besonders wichtig, wenn Sie sich mit den vom System erstellten Umgebungsvariablen befassen. Beispielsweise ist die Umgebungsvariable Lang für die Auswahl der Sprache verantwortlich. Sein Wert ist standortabhängig, aber in den USA typischerweise hat er den Wert „en_us.UTF-8 ”.

Umgebungsvariablen manipulieren

Es gibt mehrere grafische Versorgungsunternehmen zum Anschauen, Einrichten und Bearbeiten von Umgebungsvariablen, aber in diesem Artikel werden wir uns mit solchen Variablen in der Bash -Befehlszeile befassen.

Um eine neue Umgebungsvariable zu erstellen, können Sie den Befehl Export verwenden. Es gibt mehrere Möglichkeiten, eine Umgebungsvariable zu erstellen. Sie können zuerst die Variable definieren und dann exportieren. Wir erstellen den Variablen genannten Editor mit dem Wert Nano (Texteditor) und exportieren Sie sie dann.

$ Editor = nano
$ Export Editor

Die andere Möglichkeit, die Umgebungsvariablen zu erstellen, besteht darin, sie im Exportbefehl selbst zu definieren.

$ Export Editor = Nano

Wenn Sie beabsichtigen, Leerzeichen im Wert zu verwenden, müssen Sie doppelte Zitate verwenden, während Sie die Umgebungsvariable wie gezeigt erstellen:

$ export var = "mein Wert"

Die Werte der Umgebungsvariablen können mit dem Echo -Befehl zugegriffen werden, gefolgt vom Namen der jeweiligen Variablen mit einem Dollar -Zeichen.

$ echo $ var

Sie können auch den Befehl "printEnv" verwenden, um den Wert jeder Umgebungsvariablen zu erhalten.

$ Printenv var

Probleme im Zusammenhang mit Umgebungsvariablen

Bei der Definition von Umgebungsvariablen in Bash-Skripten hängen die gemeinsamen Probleme mit der Eltern-Kind-Beziehung von Shells zusammen. Die Lösung für solche Probleme besteht darin, die Variablen in einer Elternumgebung zu definieren. Wie wir bereits gesehen haben, sind die Umgebungsvariablen in der Regel vorübergehend und ausschließlich für die Shell -Instanz, in der sie erstellt werden. Wir können jedoch auch Umgebungsvariablen definieren, die für andere Benutzer anhaltend und zur Verfügung stehen.

Wenn Sie eine Umgebungsvariable erstellen möchten, die nur für Ihre Verwendung dauerhaft ist, müssen Sie die bearbeiten .BASHRC -Datei. Es befindet sich im Verzeichnis /home /user -Verzeichnis. Sie können eine VAR -Umgebungsvariable in der hinzufügen .BASHRC -Datei durch Ausführung der folgenden Befehle:

$ nano/home/user/.bashrc

Jetzt verwenden wir den Nano -Texteditor, um den Inhalt der Bash -Datei zu ändern.

Export var = "Meine permanente Variable"

Um die Änderungen auf Ihre aktuelle Sitzung anzuwenden, beziehen Sie die .BASHRC -Datei mithilfe des folgenden Befehls:

$ Quelle .bashrc

Die variable var steht für jede Instanz der vom aktuellen Benutzer ausgeführten Shell zur Verfügung.

Wenn Sie jedoch eine Umgebungsvariable erstellen möchten, die für alle Benutzer verfügbar ist, müssen Sie sie in die Datei /etc /Umgebungsdatei aufnehmen. Beispielsweise können wir der Datei /etc /Umgebungsdatei eine globale Umgebungsvariable hinzufügen, indem wir die folgenden Befehle ausführen:

$ nano /etc /Umgebung

Wie wir zuvor mit dem .BASHRC -Datei bearbeiten wir jetzt den Inhalt der Umgebungsdatei.

Export Global = "Dies ist eine globale Variable."

Quellen Sie die Umgebungsdatei, um die Änderungen anzuwenden, indem Sie den folgenden Befehl eingeben:

$ Quelle /etc /Umgebung

Wenn Sie eine Umgebungsvariable erstellen möchten, die das Ergebnis eines in einem Bash -Skript ausgeführten Befehls speichert, müssen Sie die Parameterubstitution verwenden. Das allgemeine Format der Parametersubstitution beinhaltet die Verwendung des Exportbefehls, gefolgt vom Befehl mit einem in Klammern eingeschlossenen Dollarschild wie gezeigt:

$ export var = $ ()

Wenn Sie beispielsweise Ihre Shell -Umgebungsvariable in einer anderen variablen MyShell speichern möchten, können Sie den folgenden Befehl verwenden:

$ export myshell = $ (echo $ Shell)

Abschluss

In diesem Artikel haben wir die Grundlagen von Bash -Skripten und Umgebungsvariablen durchlaufen. Darüber hinaus haben wir verstehen.