Bagaimana menambah direktori ke laluan sistem di Linux

Di Linux, pembolehubah persekitaran PATH menyimpan nama laluan yang akan dicari untuk fail boleh laku mana-mana arahan yang ditaip dalam baris arahan. Nilai pembolehubah persekitaran PATH ialah rentetan yang mengandungi siri nama jalan, yang masing-masing dibatasi oleh usus besar. Sebagai contoh, PATH lalai pada sistem biasa mungkin kelihatan seperti ini:

 / usr / local / bin: / usr / bin: / bin: / usr / local / games: / usr / games 

Apabila anda menaip perintah seperti kucing pada prompt arahan, shell anda akan melihat setiap direktori ini untuk fail boleh laku yang dinamakan kucing . Yang pertama ia dapati adalah yang ia jalankan.

Untuk melihat nilai semasa pembolehubah persekitaran PATH anda, anda boleh menggunakan arahan echo . Seperti semua pembolehubah dalam shell, apabila merujuk kepada nilai yang anda perlukan untuk meletakkan tanda dolar sebelum nama pembolehubah:

 echo $ PATH 

Dalam contoh di atas, nilai semasa laluan mengembalikan anda ke command prompt.

Menetapkan PATH untuk sesi shell semasa anda

Anda boleh menetapkan nilai PATH seperti yang anda lakukan pembolehubah shell yang lain, dengan bentuk NAME = VALUE, seperti ini:

 PATH = / my / first / path: my / second / path 

Masalah dengan arahan ini adalah bahawa ia akan benar-benar menimpa nilai-nilai yang anda miliki sebelum ini, yang anda mungkin tidak mahu. Jika anda mahu menambah nilai baru sebagai tambahan kepada yang lama. Anda boleh melakukannya dengan merujuk kepada PATH dalam definisi baru, seperti ini:

 PATH = $ PATH: / my / new / path 

Menggunakan arahan di atas menambah laluan baru anda kepada nilai semasa PATH . Oleh sebab nama laluan dicari dengan pantas, anda mungkin mahu menambah laluan baru anda pada akhir pembolehubah seperti yang telah kami lakukan di sini. Sebaliknya, jika anda menaip:

 PATH = / my / new / path: $ PATH 

Laluan baru anda akan dicari sebelum ini, bukan selepas laluan sistem lalai.

Menggunakan eksport untuk meluluskan pembolehubah persekitaran PATH kepada proses kanak-kanak

Jenis definisi PATH ini akan menetapkan pembolehubah persekitaran untuk sesi shell semasa anda, tetapi mana-mana program baru yang anda jalankan mungkin tidak melihat jalan baru yang telah anda tambahkan. Itu kerana shell anda membolehkan anda mengawal alam sekitar dengan menghendaki anda secara manual mengisytiharkan pembolehubah persekitaran apa yang disampaikan kepada program dan proses lain. Anda boleh mencapai ini dengan arahan eksport . Jika anda menjalankan:

 eksport PATH 

Sebarang proses yang anda jalankan sehingga anda log keluar akan menggunakan nilai semasa PATH .

Jika anda lebih suka, anda boleh menggabungkan kedua-dua perintah ini ke dalam satu baris, untuk kemudahan. Cukup masukkan koma titik koma di antara mereka supaya shell mengetahui bahawa mereka memisahkan perintah:

 PATH = $ PATH: / my / new / path: / my / other / new / path; export PATH 

Petua: Jika mana-mana nama jalan anda mempunyai ruang di dalamnya, anda harus melampirkan takrif pembolehubah dalam tanda petikan, hanya untuk selamat:

 PATH = "$ PATH: / meletakkan / ruang dalam nama laluan: / membuat / hidup sangat / tidak menyenangkan"; eksport PATH 

Menetapkan pembolehubah PATH untuk setiap sesi shell baharu

Kaedah yang kami gunakan setakat ini hanya menetapkan pembolehubah persekitaran untuk sesi shell semasa anda; apabila anda log keluar atau menutup tetingkap terminal, perubahan anda akan dilupakan. Jika anda mahu menetapkan nilai PATH ke nilai tertentu setiap kali anda log masuk atau memulakan sesi shell baru, anda perlu menambahkannya ke skrip permulaan bash anda. Setiap kali anda memulakan sesi shell interaktif, bash membaca fail-fail berikut secara teratur (jika ada), dan melaksanakan arahan di dalamnya:

/ etc / profile ~ / .bash_profile ~ / .bash_login

~ / .profile

Fail pertama, / etc / profile, adalah skrip permulaan lalai untuk setiap pengguna pada sistem. Satu atau lebih daripada tiga fail yang tinggal terletak di direktori rumah setiap pengguna. Mana-mana tiga orang itu boleh digunakan, tetapi penting untuk mengetahui bahawa mereka akan dicari dalam perintah ini.

Anda boleh mengedit fail ini dan menukar mana-mana baris yang mengandungi takrif PATH = secara manual. Hati-hati jika anda berbuat demikian, kerana ini adalah direktori yang digunakan untuk mencari fail sistem operasi penting.

Jika semua yang anda mahu lakukan ialah menambah laluan untuk pengguna semasa anda, anda boleh meninggalkan baris PATH = lain yang tidak disentuh, dan hanya tambah satu baris seperti ini pada akhir fail:

 PATH = "$ PATH: / new / path"; eksport PATH 

Jika anda menambah ini ke akhir fail .bash_profile di direktori rumah anda, ia berkuat kuasa setiap kali pengguna anda memulakan sesi shell baru. Jika anda menambah ini ke / etc / profile, ia berkuatkuasa untuk setiap pengguna pada sistem. Perhatikan bahawa anda memerlukan keistimewaan pentadbir jika anda mahu mengedit / etc / profile, jadi anda boleh menggunakan sudo (atau log masuk sebagai root) untuk melakukannya.