Comment «sourcez-vous» un fichier dans le poisson?

12

J'aimerais utiliser le trousseau avec le shell de poisson , mais je ne sais pas comment faire en sorte que fish charge le fichier ~ / .keychain / hostname-fish pour définir les variables d'environnement appropriées.

En bash, il y a la commande "source", mais elle n'existe pas dans les poissons.

Lorin Hochstein
la source

Réponses:

13

Voici ce que j'ai dans ~/.config/fish/config.fishvotre exemple spécifique.

set -gx HOSTNAME (hostname)
if status --is-interactive;
    keychain --nogui --clear ~/.ssh/id_rsa
    [ -e $HOME/.keychain/$HOSTNAME-fish ]; and source $HOME/.keychain/$HOSTNAME-fish
end

La commande source est source, qui fonctionne également en bash .


Avant fish 2.1.0, la sourcecommande était appelée ..

jamessan
la source
@JohnMetta, voir le lien dans la question et funtoo.org/wiki/Keychain . Vous devrez installer le programme.
jamessan
Désolé, c'était stupide de ma part de poster ça. Je ne l' ai pas fait envie keychain- que je cherchais à remplacer la commande « source », et ne pas lu. L' utilisation .est ce que je avais besoin.
JohnMetta
Merci d'avoir inclus la [ -e $HOME/.keychain/$HOSTNAME-fish ]; and . $HOME/.keychain/$HOSTNAME-fishligne. Cela a permis à mon trousseau de fonctionner et à arrêter de me demander la phrase secrète chaque fois que je voulais pousser.
cjm
3

Utilisez la sourcecommande:

source filename.txt
Elijah Lynn
la source
2

La manière recommandée sur la page de documentation du trousseau est de mettre ceci dans config.fish:

if status --is-interactive
    keychain --eval --quiet --quick path/to/id_rsa
end

Ensuite, ajoutez ceci en haut de votre script:

source $HOME/.keychain/(hostname)-fish

source: http://www.funtoo.org/Keychain

Elijah Lynn
la source