DIRENV - Projektspezifische Umgebungsvariablen unter Linux verwalten
- 3892
- 1187
- Tom Jakobs
Direnv ist eine nette Open-Source-Erweiterung für Ihre Shell auf einem Unix-Betriebssystem wie Linux und MacOS. Es wird in eine einzelne statische ausführbare Datei zusammengestellt und unterstützt Muscheln wie verprügeln, ZSH, TCSH, und Fisch.
Der Hauptzweck von Direnv ist, projektspezifische Umgebungsvariablen ohne Überstörung zu ermöglichen ~/.Profil
oder verwandte Shell -Startdateien. Es implementiert eine neue Möglichkeit, Umgebungsvariablen abhängig vom aktuellen Verzeichnis zu laden und zu entladen.
Es wird zum Laden verwendet 12faktor Apps (eine Methodik zum Erstellen von Apps von Software-as-a-Service) Umgebungsvariablen, erstellen Sie isolierte Entwicklungsumgebungen pro projekt. Darüber hinaus kann es verwendet werden, um Installations- und Verwaltungslösungen für Mehrversions zu erstellen, die ähnlich sind wie rbenv, pyenv, und phpenv.
Wie funktioniert Direnv also??
Bevor die Shell eine Eingabeaufforderung lädt, Direnv Schecks auf die Existenz von a .Envrc
Datei in der aktuellen Datei (die Sie mit dem Befehl pwd anzeigen können) und über das übergeordnete Verzeichnis. Der Überprüfungsvorgang ist schnell und kann auf der Eingabeaufforderung nicht bemerkt werden.
Sobald es das findet .Envrc
Datei mit den entsprechenden Berechtigungen lädt es in einen Bash-Unterschalen und erfasst alle exportierten Variablen und stellt sie der aktuellen Hülle zur Verfügung.
Installieren von Direnv in Linux -Systemen
In den meisten Linux -Verteilungen die Direnv Das Paket kann mit Ihrem Systempaketmanager wie gezeigt über die Standard -Repositories installiert werden.
$ sudo apt installieren Sie Direnv #Debian, Ubuntu und Mint $ sudo dnf installieren Sie Direnv #Fedora
Auf andere Verteilungen wie z Red Hat Enterprise Linux (Rhel) Und Centos oder jede Verteilung, die Schnappschüsse unterstützt, können Sie sie als installieren Schnappnahme. Auf diese Weise müssen Sie Snapd auf Ihrem System installieren lassen.
$ sudo snap install direnv
Wie man Direnv in Ihre Bash -Shell anschließt
Nach der Installation Direnv, Sie müssen es in Ihre aktuelle Linux -Shell anschließen. Zum Beispiel für Verprügeln, Fügen Sie die folgende Zeile am Ende des ~/.bashrc
Datei.
Stellen Sie sicher, dass es auch danach erscheint RVM, Git-Prompt, und andere Hülle -Erweiterungen, die die Eingabeaufforderung manipulieren.
Eval "$ (Direnv Hook Bash)"
Für ZSH -Hülle
Fügen Sie die folgende Zeile am Ende des ~/.ZSHRC
Datei:
Eval "$ (Direnv Hook ZSH)"
Für Fischschale
Fügen Sie die folgende Zeile am Ende des ~/.Konfiguration/Fisch/Konfiguration.Fisch
Datei:
Eval (Direnv Hook Fish)
Schließen Sie dann das aktive Terminalfenster und öffnen Sie eine neue Shell oder beziehen Sie die Datei wie gezeigt.
$ source ~/.bashrc $ source ~/.zshrc $ source ~/.Konfiguration/Fisch/Konfiguration.Fisch
So verwenden Sie Direnv in Linux Shell
Um zu zeigen, wie Direnv Arbeiten werden wir ein neues Verzeichnis namens erstellen tecmint_projects
und bewegen.
$ mkdir ~/tecmint_projects $ cd tecmint_projects/
Lassen Sie uns als nächstes eine neue Variable namens erstellen Test_variable
In der Befehlszeile und wenn sie wiederholt wird, sollte der Wert leer sein:
$ echo $ test_variable
Jetzt werden wir eine neue erstellen .Envrc
Datei, die Bash -Code enthält, der von geladen wird Direnv. Wir versuchen auch, die Zeile hinzuzufügen “Exportieren Sie die test_variable = tecmint”In IT unter Verwendung des Echo -Befehls und des Ausgangsumleitungszeichens (>)
:
$ echo Export test_variable = tecmint> .Envrc
Standardmäßig blockiert der Sicherheitsmechanismus die Belastung der .Envrc
Datei. Da wir es als sichere Datei kennen, müssen wir den Inhalt genehmigen, indem wir den folgenden Befehl ausführen:
$ direnv erlauben .
Jetzt, wo der Inhalt von .Envrc
Die Datei wurde geladen, lasst uns den Wert von überprüfen Test_variable
Dass wir vorher gesetzt haben:
$ echo $ test_variable
Wenn wir das verlassen tecmint_project
Verzeichnis, die Direnv wird entladen und wenn wir den Wert von überprüfen Test_variable
Noch einmal sollte es leer sein:
$ cd… $ echo $ test_variableDemonstration, wie Direnv unter Linux funktioniert
Jedes Mal, wenn Sie in die gehen tecmint_projects Verzeichnis, die .Envrc
Die Datei wird wie im folgenden Screenshot geladen:
$ cd tecmint_projects/Laden Sie die EnvRC -Datei in einem Verzeichnis
Die Genehmigung einer gegebenen Genehmigung widerrufen .Envrc
, benutze die leugnen Befehl.
$ direnv leugnen . #in aktuelles Verzeichnis oder $ direnv leugnen/path/to/.Envrc
Weitere Informationen und Verwendungsanweisungen finden Sie in der Direnv Mann Seite:
$ MAN DIRENV
Zusätzlich, Direnv verwendet auch a stdlib (Direnv-Stdlib) Mit mehreren Funktionen, mit denen Sie Ihrem problemlos neue Verzeichnisse hinzufügen können WEG und so viel mehr machen.
Um die Dokumentation für alle verfügbaren Funktionen zu finden, überprüfen Sie die Direnv-Stdlib Handbucheintragsseite:
$ MAN DIRENV-STDLIB
Das war alles, was wir für dich hatten! Wenn Sie Fragen oder Gedanken mit uns haben, verwenden Sie das Feedback -Formular unten.
- « 4 Möglichkeiten zur Erzeugung eines starken PRE-Taste (PSK) unter Linux
- Die 5 besten Command Line Music Player für Linux »