Wie setze ich eine Umgebungsvariable in ZSH ein

Wie setze ich eine Umgebungsvariable in ZSH ein

Wenn Sie jemals das Linux -Terminal verwendet haben, sind Sie sich wahrscheinlich der Umgebungsvariablen bewusst. Umgebungsvariablen beziehen.

Umgebungsvariablen werden als Schlüsselwertpaare geliefert, bei denen der Schlüssel den Namen der Variablen und einen Wert darstellt. Sie können die Werte von Umgebungsvariablen anpassen, wobei die Änderungen auf allen Anwendungen, die aus der Shell aus gestartet wurden.

In diesem Leitfaden werden mithilfe der ZSH -Shell mit diesem Handbuch um Umgebungsvariablen, Lesen und Einstellungsumgebungsvariablen interagiert.

Wie Umgebungsvariablen funktionieren

Nehmen wir uns einen Moment Zeit, um zu verstehen, wie Umgebungsvariablen funktionieren.

In Linux und anderen UNIX-basierten Systemen, die jedes Mal, wenn wir eine neue Shell-Sitzung starten, initialisiert ein Prozess, um die Informationen zu sammeln, die in dieser Shell. Solche Informationen stammen aus Konfigurationsdateien wie z. B .ZSHRC, .Zlogin usw.

Der Zweck von Umgebungsvariablen besteht darin, ein einfaches Medium bereitzustellen, in dem die Schale Einstellungen im Zusammenhang mit dem System abrufen oder festlegen kann.

Umgebungsvariablen nehmen das folgende Format an:

Schlüssel = Wert
Taste = value1: value2

Wenn die Umgebungsvariable mehrere Werte enthält, wird jeder Wert durch einen Dickdarm getrennt () :). Ein berühmtes Beispiel für eine solche Umgebungsvariable ist der $ Path.

Wenn der Wert der Umgebungsvariablen Räume enthält, ist der Wert in ähnlicher Weise in zwei Anführungsmarken eingeschlossen

Key = "Wert mit Leerzeichen"

Umgebungsvariablen sind fallempfindlich. Es wird empfohlen, Großbuchstaben für Umgebungsvariablen zu verwenden, um sie in anderen Kontexten zu unterscheiden.

Sie sollten keine Leerzeichen rund um das gleiche Zeichen einschließen (=).

Es gibt zwei Haupttypen von Variablen:

  1. Umgebungsvariablen
  2. Shellvariablen.

Umgebungsvariablen

Umgebungsvariablen sind globale Variablen, die von allen Schalen und ihren entsprechenden Kinderprozessen geerbt wurden.

Shellvariablen

Andererseits sind Schalenvariablen in der Schale verfügbar, in der sie definiert oder festgelegt sind. Sie werden üblicherweise zum Speichern von temporären Daten verwendet und werden nach Beendigung der Shell -Sitzung automatisch zerstört.

Jede Schale wie Bash, ZSH, Fisch und andere enthalten ihre eigenen Muschelvariablen.

So drucken Umgebungsvariablen

Verschiedene Linux -Shells verfolgen ihre vordefinierten Shell- und Umgebungsvariablen. Wir können diese Variablen mit verschiedenen Befehlen anzeigen.

Der häufigste Befehl zum Anzeigen der Umgebungsvariablen ist der Befehl "Prinkenv". Wenn Sie diesen Befehl ohne Argumente ausführen, druckt er alle Umgebungsvariablen, wie im folgenden Beispiel gezeigt:

drucken

Der obige Befehl sollte alle Umgebungsvariablen wie gezeigt drucken:

Shell =/bin/zsh
Session_Manager = local/debian10.Lokal:@/tmp/.EIS-
UNIX/964, UNIX/DEBIAN10.Lokal:/tmp/.ICE-UNIX/964
Qt_accessibility = 1
Farbterm = Truecolor
Xdg_menu_prefix = gnome-
Gnome_desktop_session_id = this-is-deprecated
Ssh_auth_sock =/run/user/1000/keyring/ssh
Desktop_Session = gnome
Gtk_modules = gail: ATK-Bridge
Xdg_seat = seat0
Pwd =/home/debian
Xdg_session_desktop = gnome
LogName = debian
Xdg_session_type = wayland
Gjs_debug_topics = js Fehler; JS -Protokoll
Gdm_lang = en_us.UTF-8
Home =/home/debian
Benutzername = Debian
---------Ausgang abgeschnitten-------------------------------------

Mit dem Befehl "printEnv" können Sie eine einzelne Variable drucken, indem Sie sie als Argument übergeben. Um beispielsweise den Wert des $ paths anzuzeigen, können Sie den Befehl verwenden:

Druckpfad

Der Befehl sollte den Wert der Pfadvariablen als:

/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

Sie können auch mehrere Variablen an den Befehl "printenv" übergeben als:

$ Printenv Path Home Benutzername
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
/Home/Debian
Debian

Der Befehl sollte die Werte der Umgebungsvariablen drucken.

SPITZE: Sie können auch den Befehl env verwenden, um die Werte von Umgebungsvariablen zu drucken oder festzulegen.

Beliebte Umgebungsvariablen

Im Folgenden finden Sie einige Standardvariablen für Umgebungsumgebungen.

  • HEIM - Repräsentiert das Heimverzeichnis für den aktuellen Benutzer.
  • HÜLSE - Zeigt den Pfad der Shell des aktuellen Benutzers an.
  • BENUTZER - Zeigt den aktuell angemeldeten Benutzer an.
  • WEG - Enthält eine Liste von Verzeichnissen, die nach ausführbaren Dateien gesucht werden sollen, wenn ein Befehl ausgeführt wird.
  • Lang - Zeigt die Gebietsschemaseinstellungen, einschließlich Charakterkodierung
  • BEGRIFF - Bezieht sich auf die aktuelle terminale Emulation.
  • _ - Zeigt den zuvor ausgeführten Befehl für diesen Benutzer an.

So drucken Sie Shell -Variablen

Sowohl die Printenv- als auch die Env -Befehle zeigen nur die Umgebungsvariablen. Verwenden Sie den Befehl SET, um alle Variablen anzuzeigen, einschließlich Shell und lokalen Variablen, Funktionen und Umgebungsvariablen.

Wenn Sie den Befehl SET ohne Parameter ausführen, werden alle Variablen als:

Satz

Hier ist ein Beispielausgang:

''!'= 0
'#' = 0
'$' = 2801
'*' = ()
-= 569Jnrxzghiklms
0 = ZSH
''?'= 0
@= ()
Argc = 0
BG
CDPath = "
Farbterm = Truecolor
Spalten = 211
Cputype = x86_64
Dbus_session_bus_address = 'unix: path =/run/user/1000/bus'
Desktop_Session = gnome
Anzeige =: 0
Egid = 1000
EpochrealTime
Epochsekunden
EUID = 1000
Fg
Fignore = "
Fpath =/home/debian/.oh-my-zsh/plugins/git:/home/debian/.Oh mein-
ZSH/Funktionen:/home/debian/.oh-my-zsh/vollständige
---Ausgang abgeschnitten----------------------------------------

Die aus dem SET -Befehl gedruckten Werte sind in der Regel eine massive Liste von Elementen, die Sie filtern können, indem Sie die Ausgabe an Befehle wie Grep verleihen können.

Beliebte Schalenvariablen

Obwohl die Shell -Variablen je nach Verwendung von Shell variieren; Das Folgende ist in der ZSH -Schale üblich.

  • ZSH_VERSION - Die Version der ZSH -Shell wird ausgeführt.
  • PROMPT - Zeigt die Platzhalter für das aktuelle ZSH -Eingabeformat an. Ähnlich wie $ PS1.
  • Histaret - Anzahl der im Speicher gespeicherten Verlaufsbefehle.
  • Histfile - Pfad zur ZSH -Befehlsverlaufsdatei.
  • ZSH_NAME - ZSH -Shell -Name.
  • Uid - UID des aktuellen Benutzer.
  • Ifs - Speichert den Wert des internen Feldabscheiders.

So setzen Sie Umgebungsvariablen in ZSH

Um Umgebungsvariablen festzulegen, verwenden wir den Exportbefehl. Die Syntax ist:

Exportschlüssel = Wert

Um beispielsweise eine http_proxy -Variable zu erstellen und auf eine URL einzustellen, können wir dies tun:

Exportieren Sie http_proxy = "http: // 127.0.0.1: 8080 "

Um die Schaffung der Variablen zu überprüfen, können wir den Befehl "printEnv" als:

printEnv http_proxy
http: // 127.0.0.1: 8080

Sobald Sie eine Umgebungsvariable festgelegt haben, können Sie von allen untergeordneten Prozessen darauf zugreifen. Zum Beispiel:

ZSH -c 'Echo $ http_proxy'

Umgebungsvariablen, die in der oben diskutierten Methode erstellt wurden, sind jedoch nur innerhalb der aktuellen Shell -Sitzung verfügbar. Sobald sie geschlossen sind, werden alle Umgebungsvariablen zerstört.

So erstellen Sie dauerhafte Umgebungsvariablen

Wenn Sie eine Umgebungsvariable erstellen möchten, die über Shell -Sitzungen hinweg bestehen kann, können Sie die Shell -Konfigurationsdateien verwenden.

In ZSH können Sie die Umgebungsvariablen in der definieren .ZSHRC -Datei.

In ähnlicher Weise müssen Sie den Befehl exportieren als:

vim ~/.ZSHRC
Exportieren Sie http_proxy- "http: // 127.0.0.1: 8080 "

Schließen und speichern Sie die Datei.

Um die Umgebungsvariablen in der aktuellen Shell -Sitzung zu laden, verwenden Sie den Quellbefehl als:

Quelle ~/.ZSHRC

Abschluss

In diesem Handbuch diskutierten wir, wie man mit Umgebung und Shell -Variablen in Linux -Systemen arbeitet. Wir haben auch gelernt, wie man Umgebungsvariablen festlegt und Persistenz über Shell -Sitzungen hinweg anwendet.

Vielen Dank für das Lesen.