tl; dr sürümü: kullanım ~/.zshrc
Aşağıdakiler arasındaki farkları anlamak için man sayfasını okuyun :
~/.zshrc, ~/.zshenvVe ~/.zprofile.
Yorumumla ilgili olarak
Kev'in verdiği cevaba ekli yorumumda dedim ki:
Bu yanlış görünüyor - / etc / profile bulabildiğim hiçbir zsh belgesinde listelenmemiş.
Bu kısmen yanlış çıkıyor: kaynaklanıyor /etc/profile olabilirzsh . Ancak , bu yalnızca zsh" shveya olarak çağrıldığında" oluşur ksh; bu uyumluluk modlarında:
Olağan zsh başlatma / kapatma komut dosyaları çalıştırılmaz. Giriş kabukları source / etc / profile ve ardından $ HOME / .profile. ENV ortam değişkeni çağırmada ayarlanmışsa, $ ENV profil betiklerinden sonra kaynaklanır. ENV değeri, bir yol adı olarak yorumlanmadan önce parametre genişletmeye, komut ikamesine ve aritmetik genişletmeye tabi tutulur. [ man zshall, "Uyumluluk" ].
ArchWiki ZSH bağlantı diyor ki:
Oturum açma sırasında, Zsh aşağıdaki dosyaları bu sırayla sağlar:
/ etc / profile
Bu dosya, oturum açıldığında tüm Bourne uyumlu kabuklardan elde edilir
Bu implys /etc/profileedilir hep okumak tarafından zshGirişte - Ben Arch Linux projesi ile herhangi bir deneyimi yok; wiki bu dağıtım için doğru olabilir, ancak genellikle doğru değildir . Bilgi , zsh kılavuz sayfalarına kıyasla yanlış ve OS X'teki zsh için geçerli görünmüyor ( $PATHküme içindeki yollar, /etc/profilezsh oturumlarıma ulaşmaz).
Soruyu ele almak için:
rvm, python, düğüm vb. eklentilerimi $ PATH'ıma tam olarak nereye yerleştirmeliyim?
Genellikle, kızkardeşimi ihraç edeceklerini $PATHgelen ~/.zshrcancak bir okuma sahip 's değerinde zshall adam sayfasında, özellikle "başlatma / kapatma DOSYALAR" bölümü - ~/.zshrciçin okunan interaktif veya ihtiyaçlarınıza uygun olmayabilir kabukları, - İstersen $PATHiçin zshsizin tarafınızdan çağrılan her kabuk (hem hem interactivedeğil, hem de logindeğil, vb.), o zaman ~/.zshenvdaha iyi bir seçenektir.
Kullanmam gereken belirli bir dosya var mı (yani, şu anda kurulumumda bulunmayan .zshenv), şu anda kullandığımlardan biri mi yoksa önemli mi?
Başlangıçta okunan bir sürü dosya var (bağlantılı mansayfaları kontrol edin ) ve bunun bir nedeni var - her dosyanın kendine özgü bir yeri var (her kullanıcı için ayarlar, kullanıcıya özel ayarlar, oturum açma kabukları için ayarlar, her kabuk için ayarlar, vb).
Varolmama konusunda endişelenmeyin ~/.zshenv- ihtiyacınız varsa, yapın ve okunsun.
.bashrcve .bash_profileedilir değil tarafından okunan zshaçıkça onları kaynak sürece ~/.zshrcveya benzeri; arasındaki sözdizimi bashve zsholduğu değil her zaman uyumlu. Hem .bashrcve .bash_profileiçin tasarlanmış bashayarlar değil zshayarları.
.bashrcve.bash_profileokumazzshben halen benim sahip olarakrvmyapılacak ilave$PATHiçinde.bashrcve benimpythonde eklenmesi.bash_profileve her iki gayet ekleniyor. Her durumda, tüm diğer yapılandırmalarım$PATHorada~/.zshrcolduğu için tüm dışa aktarmalarımı konumuna taşıyacağımzsh. İtiraf etmeliyim ki farklı mermi türlerine pek aşina değilim. Gönderdiğiniz bağlantıları okurken, etkileşimli bir kabuk kullanıyorum, ancak emin olmak için daha fazlasını okuyacağım ... Tekrar teşekkürler!