tl; version dr: utiliser ~/.zshrc
Et lisez la page de manuel pour comprendre les différences entre:
~/.zshrc, ~/.zshenvEt ~/.zprofile.
Concernant mon commentaire
Dans mon commentaire joint à la réponse de kev , j'ai dit:
Cela semble incorrect - / etc / profile n'est répertorié dans aucune documentation zsh que je puisse trouver.
Cela s'avère partiellement incorrect: /etc/profile peut provenir de zsh. Cependant , cela ne se produit que si zshest "invoqué en tant que shou ksh"; dans ces modes de compatibilité:
Les scripts habituels de démarrage / arrêt de zsh ne sont pas exécutés. Le login shells source / etc / profile suivi de $ HOME / .profile. Si la variable d'environnement ENV est définie lors de l'appel, $ ENV provient des scripts de profil. La valeur d'ENV est soumise à l'expansion des paramètres, à la substitution de commandes et à l'expansion arithmétique avant d'être interprétée comme un chemin. [ man zshall, "Compatibilité" ].
Le lien ArchWiki ZSH dit:
Lors de la connexion, Zsh recherche les fichiers suivants dans cet ordre:
/ etc / profile
Ce fichier provient de tous les shells compatibles Bourne lors de la connexion
Ce implys qui /etc/profileest toujours lu par zshà la connexion - Je n'ai aucune expérience avec le projet Arch Linux; le wiki peut être correct pour cette distribution, mais il n'est généralement pas correct. Les informations sont incorrectes par rapport aux pages de manuel zsh et ne semblent pas s'appliquer à zsh sous OS X (les chemins $PATHdéfinis dans /etc/profilene parviennent pas à mes sessions zsh).
Pour répondre à la question:
où dois-je placer exactement mes ajouts rvm, python, node, etc. à mon $ PATH?
En général, j'exporterais mon $PATHdepuis ~/.zshrc, mais cela vaut la peine d'avoir une lecture de la page de manuel zshall , en particulier la section "FICHIERS DE DÉMARRAGE / ARRÊT" - ~/.zshrcest lue pour les shells interactifs , qui peuvent ou non répondre à vos besoins - si vous voulez le $PATHpour chaque zshshell invoqué par vous (les deux interactiveet non, les deux loginet non, etc.), ~/.zshenvest alors une meilleure option.
Y a-t-il un fichier spécifique que je devrais utiliser (c'est-à-dire .zshenv qui n'existe pas actuellement dans mon installation), l'un de ceux que j'utilise actuellement, ou est-ce même important?
Il y a un tas de fichiers lus au démarrage (vérifiez les manpages liées ), et il y a une raison à cela - chaque fichier a sa place particulière (paramètres pour chaque utilisateur, paramètres spécifiques à l'utilisateur, paramètres pour les shells de connexion, paramètres pour chaque shell, etc).
Ne vous inquiétez pas de ~/.zshenvne pas exister - si vous en avez besoin, faites-le et il sera lu.
.bashrcet ne.bash_profile sont pas lus par zsh, sauf si vous les fournissez explicitement ~/.zshrcou similaires; la syntaxe entre bashet zshn'est pas toujours compatible. Les deux .bashrcet .bash_profilesont conçus pour les bashparamètres, pas les zshparamètres.
.bashrcet que vous ne.bash_profilesoyez pas luzshcomme j'ai actuellement monrvmajout$PATHdans.bashrc, et monpythonajout dans.bash_profile, et les deux sont ajoutés très bien. Dans tous les cas, je vais déplacer toutes mes$PATHexportations vers~/.zshrccar toutes mes autreszshconfigurations y sont hébergées. Je dois admettre que je ne connais pas très bien les différents types de coquilles. En lisant les liens que vous avez postés, je suppose que j'utilise un shell interactif, mais je vais lire plus loin pour être sûr ... Merci encore!