La modification de la TRAJECTOIRE avec le poisson shell
Je suis en train de jouer avec le les poissons shell et je vais avoir quelques difficultés à s'enveloppant ma tête autour de la façon dont la PATH
variable est définie. Pour ce que ça vaut, je suis également en utilisant oh-mon-poisson.
Si je reprends mon chemin j'obtiens:
➜ fish echo $PATH
/usr/local/bin /usr/bin /bin /usr/sbin /sbin /usr/local/bin /opt/X11/bin /usr/texbin /Users/myname/.opam/system/bin
Regardant ~/.config/fish/config.fish
je vois la ligne suivante
set PATH /usr/local/bin $PATH /Users/myname/.opam/system/bin
Ma question est (et ce phrasé sera probablement le reflet de mon manque de connaissance sur le sujet): avant config.fish
en cours de traitement, où est le PATH
variable? c'est à dire: où tous les chemins entre les /usr/local/bin
et /Users/myname/.opam/system/bin
viennent de?
- la documentation décrit les fichiers d'initialisation: fishshell.com/docs/current/index.html#initialization
- Ah. J'ai essayé de trouver le deuxième fichier (
/etc/fish/config.fish
) et je ne pouvais pas le trouver. Je soupçonne que c'est parce que j'ai installé le poisson avec homebrew. J'ai courufind / -name config.fish
trouver tous lesconfig.fish
les fichiers sur mon système. Le résultat a été:/Users/name/.config/fish/config.fish
,/Users/name/.oh-my-fish/templates/config.fish
,/usr/local/Cellar/fish/2.1.0/etc/fish/config.fish
,/usr/local/Cellar/fish/2.1.0/share/fish/config.fish
, et/usr/local/etc/fish/config.fish
. J'ai vérifié tous les résultats et aucun d'eux ne semblait pour spécifier une valeur de CHEMIN d'accès.
Vous devez vous connecter pour publier un commentaire.
Comme indiqué dans le officiel de poisson tutoriel, vous pouvez modifier la
$fish_user_paths
universelle variable.Exécuter les opérations suivantes à la fois à partir de la ligne de commande:
Cela ajoute
/usr/local/bin
de manière permanente sur votre chemin, et affectera la session en cours et toutes les futures instances de trop.Ne pas ajouter cette ligne à votre
config.fish
fichier, qu'il serait la cause de la$fish_user_paths
de grandir avec chaque instance du shell.-U
est pas nécessaire puisquefish_user_paths
est déjà universelle.Comme tous les coquillages, les poissons hérite de son CHEMIN d'accès de l'environnement, il est lancé. La façon dont cela est réglé pour les shells de login diffère entre les systèmes d'exploitation - Linux, par exemple,
/etc/login.defs
contrôles de la TRAJECTOIRE initiale définie pour tous les shells de login. Je ne sais pas comment cela est mis sur OS X.Prochaine, comme
bash
oucsh
, les fichiers d'initialisation du shell peut modifier le chemin d'accès. Pour le poisson sur OS X, il est le code dansshare/fish/config.fish
à la charge des chemins de la norme OS X chemin des fichiers de configuration/etc/paths
et/etc/paths.d/*
. Il y a code alternatif pour définir un trajet utile sur Solaris.Il y a aussi le code pour ramasser les chemins de l'universel variable
$fish_user_paths
, qui est le bonne façon d'ajouter quelque chose à votre CHEMIN et l'ont retrouve dans tous les shells.