tl;dr version: utiliser ~/.zshrc
, et lire la page de man de comprendre les différences entre ~/.zshrc
, ~/.zshenv
et ~/.zprofile
.
Concernant mon commentaire
Dans mon commentaire joint à la réponse kev a donné, j'ai dit:
Cela semble être incorrect - /etc/profile n'est pas répertorié dans toute zsh la documentation que je peux trouver.
Cela s'avère être partiellement incorrecte: /etc/profile
peut être obtenu par zsh
. Cependant, cela se produit uniquement si zsh
est "invoquée en tant que sh
ou ksh
"; dans ces modes de compatibilité:
L'habitude zsh démarrage/arrêt scripts ne sont pas exécutés. Shells de Login source /etc/profile suivie par $HOME/.de profil. Si l'ENV variable d'environnement est définie sur l'invocation, $ENV est d'origine après le profil des scripts. La valeur de l'ENV est soumis à un paramètre d'expansion, la substitution de commande, et l'expansion arithmétique avant d'être interprété comme un chemin. [l'homme zshall, la "Compatibilité"].
Le ArchWiki ZSH lien dit:
Lors de la connexion, Zsh sources les fichiers suivants dans cet ordre:
/etc/profile
Ce fichier est utilisé par tous Bourne-compatible obus lors de la connexion
Cette implys qu' /etc/profile
est toujours lu par zsh
lors de la connexion - je n'ai pas d'expérience avec Arch Linux projet; le wiki peut être correct pour cette distribution, mais il est pas généralement correcte. L'information est incorrecte par rapport à la zsh pages de manuel, et ne semble pas s'appliquer à zsh sur OS X (chemins en $PATH
ensemble en /etc/profile
ne pas le faire à mon zsh sessions).
Pour répondre à la question:
exactement où dois-je placer mon rvm, python, nœud etc ajouts à ma $PATH?
Généralement, je voudrais exporter mes $PATH
de ~/.zshrc
, mais il vaut la peine d'avoir une lecture de la zshall page de man, plus précisément le "DÉMARRAGE/ARRÊT FICHIERS de la section" - ~/.zshrc
est lire pour interactive coquilles, qui peuvent ou peuvent ne pas convenir à vos besoins si vous souhaitez que l' $PATH
pour chaque zsh
shell invoquée par vous (les deux interactive
et pas, les deux login
et pas, etc), alors ~/.zshenv
est une meilleure option.
Est-il un fichier spécifique que je devrait utiliser (c'est à dire .zshenv qui n'existent pas actuellement dans mon installation), un de ceux que je suis en train d'utiliser, ou faut-il le même problème?
Il y a un tas de fichiers lus au démarrage (à vérifier liés man
pages), et il y a une raison pour que chaque fichier dispose d'un lieu particulier (paramètres pour chaque utilisateur, paramètres spécifiques à l'utilisateur, les paramètres pour les shells de login, les paramètres pour chaque shell, etc).
Ne vous inquiétez pas à propos de ~/.zshenv
n'existant pas - si vous en avez besoin, le faire, et il sera lu.
.bashrc
et .bash_profile
sont pas lus par zsh
, sauf si vous explicitement la source de ~/.zshrc
ou similaires; la syntaxe entre bash
et zsh
est pas toujours compatibles. Les deux .bashrc
et .bash_profile
sont conçus pour bash
cadres, zsh
paramètres.