47 votes

réutiliser '~/.profile` pour Fish ?

(Je parle du Shell). Poisson , esp. Le poisson du poisson .)

Pour Bash/ZSH, j'avais ~/.profile avec quelques exportations, alias et autres choses.

Je ne veux pas avoir une configuration séparée pour les variables d'environnement pour Fish, je veux réutiliser mon fichier ~/.profile . Comment ?

Dans la FAQ, il est indiqué que je peux au moins les importer via /usr/local/share/fish/tools/import_bash_settings.py mais je n'aime pas vraiment faire cela pour chaque instance de poisson.

3voto

DoctorBug Points 81

Installer dash et ajoutez cette ligne à votre config.fish :

env -i HOME=$HOME dash -l -c 'export -p' | sed -e "/PATH/s/'//g;/PATH/s/:/ /g;s/=/ /;s/^export/set -x/" | source

1voto

Spiff Points 95683

Vous ne pouvez pas. fish est trop différente de celle de Bourne Shell ( /bin/sh ). C'est la même raison pour laquelle vous ne pouvez pas utiliser la syntaxe .profile avec d'autres shells non dérivés de Bourne, tels que csh y tcsh .

1voto

kzh Points 3913

Si votre distribution utilise PAM vous pouvez définir vos variables d'environnement dans votre ~/.pam_environment fichier.

1voto

cmey Points 11

Vous pouvez commencer à pêcher à partir de Bash. Dans ce cas, Fish héritera de toutes les variables d'environnement ( export FOO=bar ) de Bash. À ce stade, Bash aura déjà lu votre .profile (ou autre).

bash-3.2$ export TEST="test"
bash-3.2$ fish
cmey@MBP ~> echo $TEST
test

0voto

ben Points 1

J'ai réussi à résoudre ce problème en ajoutant ce qui suit à mon fichier ~/.bashrc :

if [ $SHLVL -lt 2 ] ; then poisson ; exit ; fi

De cette manière, il n'est pas nécessaire de taper deux fois exit pour quitter le sous-shell de poisson. Les sous-shells Bash à l'intérieur du sous-shell de poisson ne sont pas affectés.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X