GNU/Linux >> Belajar Linux >  >> Linux

Menambahkan entri baru ke variabel PATH di ZSH

Di sini, tambahkan baris ini ke .zshrc :

export PATH=/home/david/pear/bin:$PATH

EDIT :Ini berhasil, tetapi jawaban satu-satunya di atas lebih baik, karena memanfaatkan antarmuka terstruktur yang disediakan ZSH untuk variabel seperti $PATH . Pendekatan ini standar untuk bash , tetapi sejauh yang saya tahu, tidak ada alasan untuk menggunakannya ketika ZSH memberikan alternatif yang lebih baik.


Sebenarnya, menggunakan ZSH memungkinkan Anda untuk menggunakan pemetaan khusus dari variabel lingkungan. Jadi Anda cukup melakukan:

# append
path+=('/home/david/pear/bin')
# or prepend
path=('/home/david/pear/bin' $path)
# export to sub-processes (make it inherited by child processes)
export PATH

Bagi saya itu fitur yang sangat rapi yang dapat disebarkan ke variabel lain.Contoh:

typeset -T LD_LIBRARY_PATH ld_library_path :

Anda dapat menambahkan ke PATH Anda secara minimal. Tidak perlu tanda kurung kecuali Anda menambahkan lebih dari satu elemen. Ini juga biasanya tidak membutuhkan tanda kutip. Jadi cara singkat dan sederhana untuk menambahkan adalah:

path+=/some/new/bin/dir

Sintaks huruf kecil ini menggunakan path sebagai larik , namun juga memengaruhi padanan mitra huruf besar, PATH (yang "terikat" melalui typeset ).

(Perhatikan bahwa tidak ada : diperlukan/diinginkan sebagai pemisah .)

Penggunaan interaktif umum

Kemudian pola umum untuk menguji skrip baru/yang dapat dieksekusi menjadi:

path+=$PWD/.
# or
path+=$PWD/bin

Penggunaan konfigurasi umum

Anda dapat memercikkan setelan jalur di sekitar .zshrc Anda (seperti di atas) dan secara alami akan mengarah ke pengaturan yang tercantum sebelumnya yang diutamakan (walaupun terkadang Anda masih ingin menggunakan bentuk "prepend" path=(/some/new/bin/dir $path) ).

Berita terkait

Merawat path cara ini (sebagai larik) juga berarti:tidak perlu melakukanrehash agar perintah yang baru dilintasi dapat ditemukan.

Lihat juga vared path sebagai cara dinamis untuk mengedit path (dan hal lainnya).

Anda mungkin hanya tertarik pada path untuk pertanyaan ini, tetapi karena kita berbicara tentang ekspor dan larik, perhatikan bahwaarray umumnya tidak dapat diekspor.

Anda bahkan dapat mencegah PATH dari mengambil entri duplikat (lihat ini dan ini):

typeset -U path

PATH sudah terisi sebelumnya

Alasan jalur Anda sudah memiliki beberapa entri di dalamnya adalah karena jalur pengaturan file shell sistem Anda untuk Anda. Ini tercakup dalam beberapa pos lainnya:

  • Mengapa dan di mana variabel env $PATH disetel?
  • Di mana sumber $PATH? Saya tidak dapat menemukannya di .zshrc

Linux
  1. 2 cara untuk mengatur variabel $PATH secara permanen di ubuntu

  2. Mengulangi elemen variabel jalur di Bash

  3. Hapus jalur yang berlebihan dari variabel $PATH

  1. Menambahkan layanan baru ke sistem Linuxd

  2. Proses Induk Baru Ketika Proses Induk Meninggal?

  3. Apakah ada variabel jalur instal Qt yang dapat saya gunakan di file .pro?

  1. $path Variabel Env Variabel?

  2. Cara Mengatur Variabel $Path di Linux

  3. Cara mengubah variabel PATH di Linux