Come aggiungere esportazioni ai pesci come in .bashrc?


50

Volevo solo poter aggiungere all'interno di alcuni file di configurazione fish (non so quale / dove) la stessa funzione di questa:

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

Questa riga è stata aggiunta all'interno del file .bashrc ed è stata in grado di esportare la variabile ogni volta che ho aperto un terminale.

C'è qualcosa del genere per i pesci? So che posso esportare variabili in fish usando il comando "set", ma voglio modificare un file (non so quale) per aggiungere automaticamente quelle variabili ogni volta che apro un terminale fish.

Grazie per il tuo tempo!

Risposte:


50

Puoi inserire la configurazione del pesce specifica dell'utente, incluse le direttive set ~/.config/fish/config.fish. I contenuti dovrebbero apparire più o meno così

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

Ulteriori informazioni sono disponibili nella documentazione .


Grazie Adam. Lo scopo principale di questo cambiamento è quello di poter includere all'interno del Perl @ il percorso delle mie librerie locali. Dopo aver aggiunto la riga che hai suggerito, l'esportazione è stata effettuata correttamente! Ma, se corro perl -VI non vedrò i nuovi percorsi. So che questa è più una domanda Perl che una di pesce, ma volevo solo sapere se tu (o qualcun altro) hai un'idea

Avrei dovuto menzionare la -xbandiera. Ho appena aggiornato la risposta e puoi leggere di più nella sezione "Esportazione di variabili" nella documentazione.
Adam Byrtek,

1
Il sito principale del pesce è inattivo, ma la documentazione della forchetta fishfish è su ridiculousfish.com/shell/user_doc/html/commands.html#set (suppongo che sia lo stesso).
Daniel James,

I pesci hanno accesso a variabili ambientali come $ PATH?
concedi il

@grant sì, $PATHecc. può essere utilizzato nei pesci, incluso in config.fish.
Scribblemacher,

19

Usa le variabili universali introdotte nei pesci 2.0.0. -xsignifica esportato e -Usignifica che è dichiarato per ogni sessione di pesce. Puoi anche usare le opzioni lunghe --exporte --universal.

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

Si noti che la PATHvariabile è un po 'un caso speciale. Sebbene PATHpossa essere universalmente modificato, ciò influirà sulla tua attuale variabile PATH (che potrebbe essere un po 'un problema se un sistema operativo introdurrà un percorso aggiuntivo). Per PATHvariabile, utilizzare invece fish_user_pathsvariabile (che aggiunge solo percorsi). La variabile è un array, il che significa che non è necessario inserire :caratteri.

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

Si hai ragione!
Nishant,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.