tl; versione dr: usa ~/.zshrc
E leggi la pagina man per capire le differenze tra:
~/.zshrc, ~/.zshenve ~/.zprofile.
Per quanto riguarda il mio commento
Nel mio commento allegato alla risposta data da kev , ho detto:
Questo sembra non essere corretto - / etc / profile non è elencato in nessuna documentazione zsh che riesco a trovare.
Questo risulta essere parzialmente errato: /etc/profile potrebbe essere fornito da zsh. Tuttavia , ciò si verifica solo se zshè "invocato come sho ksh"; in queste modalità di compatibilità:
I soliti script di avvio / arresto di zsh non vengono eseguiti. Shell di login sorgente / etc / profile seguito da $ HOME / .profile. Se la variabile di ambiente ENV è impostata al richiamo, $ ENV viene originato dopo gli script del profilo. Il valore di ENV è soggetto all'espansione dei parametri, alla sostituzione dei comandi e all'espansione aritmetica prima di essere interpretato come un percorso. [ man zshall, "Compatibility" ].
Il collegamento ArchWiki ZSH dice:
All'accesso, Zsh genera i seguenti file in questo ordine:
/ etc / profile
Questo file viene fornito da tutte le shell compatibili con Bourne al momento dell'accesso
Questo implys che /etc/profileè sempre leggere dal zshmomento del login - io non ho alcuna esperienza con il progetto Arch Linux; il wiki potrebbe essere corretto per quella distribuzione, ma generalmente non lo è . Le informazioni non sono corrette rispetto alle pagine di manuale di zsh e non sembrano applicarsi a zsh su OS X (i percorsi $PATHimpostati in /etc/profilenon arrivano alle mie sessioni zsh).
Per rispondere alla domanda:
dove esattamente dovrei posizionare le mie aggiunte rvm, python, node ecc al mio $ PATH?
In generale, vorrei esportare il mio $PATHda ~/.zshrc, ma vale la pena di avere una lettura della zshall pagina man, in particolare la sezione "avvio / arresto FILES" - ~/.zshrcsi legge per interattive conchiglie, che può o non può soddisfare le vostre esigenze - se si desidera che il $PATHper ogni zshshell invocata da te (sia interactivee non, sia logine non, ecc.), quindi ~/.zshenvè un'opzione migliore.
C'è un file specifico che dovrei usare (ad es. .Zshenv che attualmente non esiste nella mia installazione), uno di quelli che sto utilizzando attualmente, o ha importanza?
Ci sono un sacco di file letti all'avvio (controlla le manpagine collegate ), e c'è una ragione per questo: ogni file ha la sua posizione particolare (impostazioni per ogni utente, impostazioni per utente specifico, impostazioni per shell di accesso, impostazioni per ogni shell, eccetera).
Non preoccuparti di ~/.zshenvnon esistere: se ne hai bisogno, fallo e verrà letto.
.bashrce non.bash_profile vengono letti da , a meno che tu non li trovi esplicitamente da fonti o simili; la sintassi tra e non è sempre compatibile. Entrambi e sono progettati per le impostazioni, non per le impostazioni.zsh~/.zshrcbashzsh.bashrc.bash_profilebashzsh
.bashrce.bash_profilenon sia letto dazshcome attualmente ho la miarvmaggiunta a$PATHin.bashrce la miapythonaggiunta in.bash_profile, ed entrambe vengono aggiunte bene. In ogni caso, sposterò tutte le mie$PATHesportazioni in~/.zshrcquanto tutta la mia altrazshconfigurazione è ospitata lì. Devo ammetterlo, non ho molta familiarità con i diversi tipi di conchiglie. Dalla lettura dei link che hai postato, immagino di utilizzare una shell interattiva, ma leggerò oltre per esserne sicuro ... Grazie ancora!