Comment ajouter des exportations au poisson comme en .bashrc?

50

Je voulais juste pouvoir ajouter à l'intérieur d'un fichier de configuration de poisson (je ne sais pas qui / où) la même fonction que celle-ci:

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

Cette ligne a été ajoutée à l'intérieur du fichier .bashrc et il a été possible d'exporter la variable à chaque fois que j'ouvrais un terminal.

Y a-t-il quelque chose comme ça pour le poisson? Je sais que je peux exporter des variables dans le poisson en utilisant la commande "set", mais je veux modifier un fichier (je ne sais pas lequel) pour ajouter automatiquement ces variables à chaque fois que j'ouvre un terminal de poisson.

Merci pour votre temps!

Jorge Castro
la source

Réponses:

50

Vous pouvez définir la configuration du poisson spécifique à l'utilisateur, y compris les directives set ~/.config/fish/config.fish. Le contenu devrait ressembler plus ou moins à ça

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

Plus d'informations peuvent être trouvées dans la documentation .

Adam Byrtek
la source
Merci Adam. Le principal objectif de ce changement est de pouvoir inclure à l'intérieur de Perl @inc le chemin de mes bibliothèques locales. Après avoir ajouté la ligne que vous avez suggérée, l'exportation a été correctement effectuée! Mais si je lance perl -VI, je ne verrai pas les nouveaux chemins. Je sais qu'il s'agit davantage d'une question Perl que d'une question de poisson, mais je voulais simplement savoir si vous (ou quelqu'un d'autre) avez une idée
J'aurais dû parler du -xdrapeau. Je viens de mettre à jour la réponse et vous en saurez plus à ce sujet dans la section "Exportation de variables" de la documentation.
Adam Byrtek
1
Le site principal du poisson est en panne, mais la documentation fournie avec la fourchette de poisson se trouve à ridiculousfish.com/shell/user_doc/html/commands.html#set (je suppose que c'est la même chose).
Daniel James
Le poisson a-t-il accès à des variables environnementales telles que $ PATH?
accorder
@gant oui, $PATHetc. peut être utilisé dans les poissons, y compris dans config.fish.
Scribblemacher
19

Utilisez les variables universelles introduites dans fish 2.0.0. -xsignifie exporté, et -Usignifie qu'il est déclaré pour chaque session de poisson. Vous pouvez également utiliser les options longues --exportet --universal.

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

S'il vous plaît noter que la PATHvariable est un peu un cas particulier. Alors que PATHpeut être changé universellement, cela affectera votre variable PATH en cours (qui peut être un peu un problème si un chemin supplémentaire sera introduit par un système d'exploitation). Pour PATHvariable, utilisez fish_user_pathsvariable (qui ajoute uniquement des chemins). La variable est un tableau, ce qui signifie que vous n'avez pas à mettre de :caractères.

set -U fish_user_paths /home/iaco/workspace/perl/share/bin /home/iaco/bin $fish_user_paths
Konrad Borowski
la source
Oui, tu as raison!
Nishant