Di sini daftar apa yang seharusnya / tidak boleh dimuat oleh setiap file, menurut saya:
.zshenv
[Baca setiap waktu]
File ini selalu bersumber, sehingga harus mengatur variabel lingkungan yang perlu sering diperbarui . PATH (atau jalur rekanan yang terkait ) adalah contoh yang baik karena Anda mungkin tidak ingin memulai kembali seluruh sesi Anda untuk membuatnya diperbarui. Dengan mengaturnya di file itu, membuka kembali emulator terminal akan memulai instance Zsh baru dengan nilai PATH diperbarui.
Tetapi perlu diketahui bahwa file ini dibaca bahkan ketika Zsh diluncurkan untuk menjalankan perintah tunggal (dengan opsi -c ), bahkan oleh alat lain seperti make
. Anda harus sangat berhati-hati untuk tidak mengubah perilaku default dari perintah standar karena dapat merusak beberapa alat (dengan menetapkan alias misalnya).
.zprofile
[Baca saat login]
Saya pribadi memperlakukan file seperti .zshenv
tetapi untuk perintah dan variabel yang harus ditetapkan satu kali atau yang tidak perlu sering diperbarui :
- variabel lingkungan untuk mengonfigurasi alat (flag untuk kompilasi, lokasi folder data, dll.)
- konfigurasi yang menjalankan perintah (seperti
SCONSFLAGS="--jobs=$(( $(nproc) - 1 ))"
) karena mungkin membutuhkan waktu untuk dijalankan.
Jika Anda memodifikasi file ini, Anda dapat menerapkan pembaruan konfigurasi dengan menjalankan shell login:
exec zsh --login
.zshrc
[Baca saat interaktif]
Saya taruh di sini semua yang diperlukan hanya untuk penggunaan interaktif :
- cepat,
- perintah selesai,
- koreksi perintah,
- saran perintah,
- penyorotan perintah,
- pewarnaan keluaran,
- alias,
- binding utama,
- perintah manajemen sejarah,
- alat interaktif lain-lain (auto_cd, manydots-magic) ...
.zlogin
[Baca saat login]
File ini seperti .zprofile
, tetapi dibaca setelahnya .zshrc
. Anda dapat menganggap shell sudah sepenuhnya diatur pada waktu eksekusi .zlogin
Jadi, saya menggunakannya untuk meluncurkan perintah eksternal yang tidak mengubah perilaku shell (mis. Manajer login).
.zlogout
[Baca saat logout] [Di dalam shell login]
Di sini, Anda dapat menghapus terminal Anda atau sumber daya lainnya yang telah diatur saat login.
Bagaimana saya memilih tempat untuk meletakkan pengaturan
- jika diperlukan oleh perintah yang dijalankan secara non-interaktif :
.zshenv
- jika harus diperbarui pada setiap shell baru :
.zshenv
- jika menjalankan perintah yang mungkin membutuhkan waktu untuk diselesaikan :
.zprofile
- jika terkait dengan penggunaan interaktif :
.zshrc
- jika itu adalah perintah yang harus dijalankan ketika shell sudah penuh :
.zlogin
- jika melepaskan sumber daya yang diperoleh saat masuk:
.zlogout