Saya menggunakan zsh dan saya mencoba menambahkan entri baru (/home/david/pear/bin
) ke PATH
variabel tetapi saya tidak tahu caranya.
Hal yang paling membingungkan saya adalah bahwa tidak ada referensi tunggal ke PATH
variabel dalam ~/.zshrc
file saya , tetapi melakukan echo $PATH
pengembalian:
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Jadi suatu PATH
variabel sedang diatur di suatu tempat.
PATH="/home/david/pear/bin:/usr/bin:etc"
untukPATH=/home/david/pear/bin:/usr/bin:etc
untuk itu untuk tinggal di zshrc.PATH
dari proses induk yang memulainya, dan kemudian ketika dijalankan.zshrc
(atau.bashrc
atau apa pun), itulah yang memungkinkan Anda menambahkan hal-hal tambahan ke jalur itu.Sebenarnya, menggunakan ZSH memungkinkan Anda untuk menggunakan pemetaan variabel lingkungan khusus. Jadi Anda bisa melakukan:
Bagi saya itu fitur yang sangat rapi yang dapat diperbanyak ke variabel lain. Contoh:
sumber
~/.zshrc
bersumber setelah.profile
, dan menimpa semuanya.profile
. Butuh beberapa saat menarik rambut saya untuk mengetahuinya.-x
dan hanya menyisakan nilai-nilai unik dalam sebuah variabel dengan-U
, titik dua dianggap secara default, sehingga dapat menjadi:typeset -TUx PATH path
path=(...)
(tanpa referensi$path
atau$PATH
di dalam) menetapkan,path=(... $path)
menambahkan , danpath+(...)
menambahkan.Anda dapat menambahkan ke Anda
PATH
dengan cara minimal. Tidak perlu tanda kurung kecuali Anda menambahkan lebih dari satu elemen. Biasanya juga tidak perlu penawaran. Jadi cara sederhana dan singkat untuk menambahkan adalah:Penggunaan umum
Maka pola umum untuk pengujian skrip / executable baru menjadi:
Sintaks huruf kecil ini digunakan
path
sebagai larik , namun juga memengaruhi padanan pasangannya,PATH
(di mana ia "terikat" melaluitypeset
).(Perhatikan bahwa tidak
:
diperlukan / diinginkan sebagai pemisah .)Informasi terkait
Memperlakukan
path
cara ini (sebagai sebuah array) juga berarti: tidak perlu melakukan arehash
untuk mendapatkan perintah yang baru saja ditemukan.Juga lihat
vared path
sebagai cara dinamis untuk mengeditpath
dan hal-hal lain.Anda mungkin hanya tertarik pada
path
pertanyaan ini, tetapi karena kita berbicara tentang ekspor dan array, perhatikan bahwa array umumnya tidak dapat diekspor.Anda bahkan dapat mencegah
PATH
dari mengambil duplikat entri (lihat ini dan ini ):sumber
path+='my/path' # for fun
. Sudah jelas jika Anda memiliki ruang, tetapi tidak terlalu banyak jika Anda memiliki komentar.path
. Diperlukan pendahuluan:
untukPATH
, sebagai berikut di .zshrcPATH+=:/Users/path/to/my/folder
satu liner, tanpa membuka
~/.zshrc
fileatau
Untuk melihat efeknya, lakukan
source ~/.zshrc
di tab yang sama atau buka tab barusumber
Jalur yang ditambahkan ke ~ / .zshrc
sudo vi ~/.zshrc
tambahkan jalur baru
Perbarui ~ / .zshrc
Simpan ~ / .zshrc
source ~/.zshrc
Periksa PATH
echo $PATH
sumber
Bash
caranya.OPSI 1: Tambahkan baris ini ke ~ / .zshrc:
Setelah itu Anda perlu menjalankan
source ~/.zshrc
agar perubahan Anda mempengaruhi ATAU tutup jendela ini dan buka yang baruOPSI 2: jalankan di dalam konsol terminal untuk menambahkan jalur ini hanya ke sesi jendela terminal saat ini. Ketika Anda menutup jendela / sesi, itu akan hilang.
sumber