Beberapa garis pengaturan variabel lingkungan jalur dengan bash


11

Saya sudah sangat lama export PATH=A:B:C .... Dapatkah saya membuat beberapa baris untuk memiliki lebih banyak baris yang terorganisir sebagai berikut?

export PATH = A:
              B:
              C:

Jawaban:


22

Anda dapat melakukan:

export PATH="A"
export PATH="$PATH:B"
export PATH="$PATH:C"

Setiap baris berikutnya ditambahkan ke jalur yang ditentukan sebelumnya. Ini umumnya merupakan kebiasaan yang baik, karena menghindari membuang jalan yang ada. Jika Anda ingin komponen baru diutamakan, tukar pesanan:

export PATH="A"
export PATH="B:$PATH"
export PATH="C:$PATH"

Atau, Anda mungkin dapat melakukan:

export PATH=A:\
B:\ 
C

di mana \menandai kelanjutan garis. Belum menguji metode ini.


2
Perhatikan bahwa itu exportadalah perintah bawaan, bukan kata kunci atau tugas sintaksis. Jadi, jika Anda memiliki PATHelemen yang mengandung spasi putih (atau karakter gumpalan), Anda perlu tanda kutip ganda export PATH="$PATH:B". Anda juga bisa menulis PATH=$PATH:Bdan sebagainya; Anda hanya perlu exportvariabel sekali, tidak setiap kali itu berubah (kecuali dalam beberapa shell Bourne sangat tua), dan Anda tidak perlu tanda kutip ganda dalam tugas.
Gilles 'SO- stop being evil'

1
Juga PATH+=:Bberfungsi untuk penggabungan string.
Aryeh Leib Taurog

4

Anda dapat memperluas garis dalam bash menggunakan garis miring terbalik di akhir baris seperti ini:

export PATH=/path/A:\
/path/B:\
/path/C

Harap dicatat bahwa tidak adanya ruang putih penting di sini.


0

Pendekatan lain:

export PATH=$(tr -d $'\n ' <<< "
   /path/A:
   /path/B:
   /path/C")

Memiliki manfaat tambahan dengan tidak mengacaukan tingkat indentasi Anda.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.