Demure sudah menjawab pertanyaan spesifik Anda. Namun ini adalah zsh
pertanyaan dan pertanyaan PATH
. Jadi di sini adalah hal lain: Di samping variabel standar $PATH
, ada juga $path
, yang merupakan array. Di sini Anda melihat perbedaannya (titik dua atau tidak ...):
$ print $PATH
/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
$print $path
/bin /usr/bin /usr/local/bin /usr/X11R6/bin
Kedua varian secara otomatis disinkronkan. Jadi, apa manfaat menggunakan array?
- Yang terakhir Anda dapat mendeklarasikan melalui
typeset -U path
untuk "tetap hanya kejadian pertama dari setiap nilai duplikat" (dari man zshbuiltins
). Itu berarti ini menjaga jalan Anda tetap bersih, bahkan jika Anda berturut-turut sumber ~/.zshrc
(karena Anda mengubahnya atau apa pun) dan jangan mengacaukannya dengan nilai yang sama lagi dan lagi.
- Anda dapat menggunakan
path+=(/new/path)
untuk menambahkan direktori baru ke PATH Anda. Untuk menghapus elemen Anda harus menggunakan beberapa trik, lihat misalnya /programming//q/3435355/2037712 atau http://www.zsh.org/mla/users//2005/msg01132.html
- Anda dapat dengan mudah mengulang elemen di PATH melalui
for i ($path) { print $i # or do something else }
Akhirnya, inilah kutipan dari config saya:
typeset -U path
path=(/new/path1
/new/path2
$path)
export PATH
.zshenv
.