Wie füge ich Exporte zu Fisch wie in .bashrc hinzu?


50

Ich wollte nur in der Lage sein, in eine Fischkonfigurationsdatei (weiß nicht, welche / wo) die gleiche Funktion wie diese einzufügen:

export PERL5LIB=/home/iaco/workspace/perl:/home/iaco/devtools

Diese Zeile wurde in die .bashrc-Datei eingefügt und konnte die Variable bei jedem Öffnen eines Terminals exportieren.

Gibt es so etwas für Fische? Ich weiß, dass ich mit dem Befehl "set" Variablen in Fische exportieren kann, aber ich möchte eine Datei ändern (weiß nicht, welche), um diese Variablen bei jedem Öffnen eines Fischterminals automatisch hinzuzufügen.

Vielen Dank für Ihre Zeit!

Antworten:


50

Sie können die benutzerspezifische Fischkonfiguration einschließlich festgelegter Anweisungen eingeben ~/.config/fish/config.fish. Der Inhalt sollte ungefähr so ​​aussehen

set -x PERL5LIB /home/iaco/workspace/perl:/home/iaco/devtools

Weitere Informationen finden Sie in der Dokumentation .


Vielen Dank, Adam. Der Hauptzweck dieser Änderung ist es, in der Lage zu sein, den Pfad meiner lokalen Bibliotheken in Perl @inc aufzunehmen. Nachdem Sie die von Ihnen vorgeschlagene Zeile hinzugefügt haben, wurde der Export ordnungsgemäß durchgeführt! Wenn ich aber perl -VI starte, werden die neuen Pfade nicht angezeigt. Ich weiß, dass dies eher eine Perl-Frage als eine

Ich hätte die -xFlagge erwähnen sollen . Ich habe gerade die Antwort aktualisiert und Sie können mehr darüber im Abschnitt "Exportieren von Variablen" in der Dokumentation lesen.
Adam Byrtek

1
Die Haupt-Fischseite ist nicht erreichbar, aber die Dokumentation von der Fischgabel finden Sie unter ridiculousfish.com/shell/user_doc/html/commands.html#set (ich gehe davon aus, dass es dasselbe ist).
Daniel James

Hat Fisch Zugang zu Umgebungsvariablen wie $ PATH?
Bewilligung am

@grant yes, $PATHetc kann in fish verwendet werden, auch in config.fish.
Scribblemacher

19

Verwenden Sie universelle Variablen, die in fish 2.0.0 eingeführt wurden. -xbedeutet exportiert und -Ubedeutet, dass es für jede Fischsession deklariert ist. Sie können auch die langen Optionen --exportund verwenden --universal.

set -xU PERL5LIB /home/iaco/workspace/perl:/home/iaco/devtools

Bitte beachten Sie, dass die PATHVariable ein Sonderfall ist. Während PATHuniversell geändert werden, wird dies Ihre aktuellen PATH - Variablen beeinflussen (was ein bisschen ein Problem sein kann, wenn ein zusätzlicher Pfad durch ein Betriebssystem eingeführt werden). Für PATHvariable verwenden fish_user_pathsvariable statt (die Pfade fügt nur). Die Variable ist ein Array, dh Sie müssen keine :Zeichen eingeben .

set -U fish_user_paths /home/iaco/workspace/perl/share/bin /home/iaco/bin $fish_user_paths

Ja, du hast recht!
Nishant
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.