tl; versi dr: gunakan ~/.zshrc
Dan baca halaman manual untuk memahami perbedaan antara:
~/.zshrc, ~/.zshenvdan ~/.zprofile.
Mengenai komentar saya
Dalam komentar saya yang terlampir pada jawaban yang diberikan kev , saya berkata:
Ini sepertinya tidak benar - / etc / profile tidak terdaftar dalam dokumentasi zsh yang dapat saya temukan.
Ini ternyata sebagian tidak benar: /etc/profile mungkin bersumber oleh zsh. Namun , ini hanya terjadi jika zsh"dipanggil sebagai shatau ksh"; dalam mode kompatibilitas ini:
Skrip startup / shutdown zsh biasa tidak dieksekusi. Login sumber shell / etc / profile diikuti dengan $ HOME / .profile. Jika variabel lingkungan ENV disetel pada pemanggilan, $ ENV bersumber setelah skrip profil. Nilai ENV tunduk pada perluasan parameter, substitusi perintah, dan perluasan aritmatika sebelum diinterpretasikan sebagai nama jalur. [ man zshall, "Kompatibilitas" ].
The Link ArchWiki zsh mengatakan:
Saat login, Zsh mengambil file berikut dalam urutan ini:
/ etc / profile
File ini bersumber dari semua shell yang kompatibel dengan Bourne saat login
Ini implys yang /etc/profileadalah selalu membaca dengan zshsaat login - Saya tidak punya pengalaman dengan proyek Arch Linux; wiki mungkin benar untuk distribusi tersebut, tetapi umumnya tidak benar. Informasi ini tidak benar dibandingkan dengan halaman manual zsh, dan tampaknya tidak berlaku untuk zsh di OS X (jalur yang $PATHdiatur /etc/profiletidak membuatnya ke sesi zsh saya).
Untuk menjawab pertanyaan:
di mana tepatnya saya harus menempatkan tambahan rvm, python, node dll ke $ PATH saya?
Secara umum, saya akan mengekspor saya $PATHdari ~/.zshrc, tapi layak itu memiliki membaca dari zshall halaman manual, khususnya "STARTUP / SHUTDOWN FILES" bagian - ~/.zshrcdibaca untuk interaktif kerang, yang mungkin atau mungkin tidak sesuai dengan kebutuhan Anda - jika Anda ingin $PATHuntuk setiap zshshell yang Anda panggil (baik interactivedan tidak, baik logindan tidak, dll), maka itu ~/.zshenvadalah opsi yang lebih baik.
Apakah ada file tertentu yang harus saya gunakan (yaitu .zshenv yang saat ini tidak ada dalam instalasi saya), salah satu file yang sedang saya gunakan, atau apakah itu penting?
Ada banyak file yang dibaca saat startup (periksa manhalaman yang ditautkan ), dan ada alasan untuk itu - setiap file memiliki tempat tertentu (pengaturan untuk setiap pengguna, pengaturan untuk pengguna tertentu, pengaturan untuk shell login, pengaturan untuk setiap shell, dll).
Jangan khawatir tentang ~/.zshenvtidak ada - jika Anda membutuhkannya, buatlah, dan itu akan dibaca.
.bashrcdan .bash_profileyang tidak dibaca oleh zsh, kecuali Anda secara eksplisit sumber mereka dari ~/.zshrcatau serupa; sintaks antara bashdan zshadalah tidak selalu kompatibel. Keduanya .bashrcdan .bash_profiledirancang untuk bashpengaturan, bukan zshpengaturan.
.bashrcdan.bash_profiletidak dibacazshkarena saya saat ini memilikirvmtambahan saya$PATHdi.bashrc, danpythontambahan saya di.bash_profile, dan keduanya ditambahkan dengan baik. Bagaimanapun, saya akan memindahkan semua$PATHekspor saya ke~/.zshrckarena semuazshkonfigurasi saya yang lain disimpan di sana. Harus saya akui, saya tidak terlalu paham dengan berbagai jenis cangkang. Dari membaca tautan yang Anda posting, saya kira saya menggunakan shell interaktif, tetapi saya akan membaca lebih lanjut untuk memastikan ... Terima kasih lagi!