Cara Menambah Direktori ke PATH di Linux

How Add Directory Path Linux



PATH adalah pemboleh ubah yang telah ditentukan dalam shell Linux. Ini terdiri daripada direktori dengan jalur direktori mereka, bermula dari akar. PATH adalah senarai pemisah kolon. Setiap direktori dengan jalannya dipisahkan dari direktori sebelumnya dengan jalurnya dengan titik dua. Shell mencari perintah di direktori ini.

Perintah bukan sahaja perintah sistem operasi cakera. Jalannya adalah senarai direktori di mana shell mencari perintah sistem operasi, dan perintah lain. Perintah seperti fail program pendek. Oleh itu, perintah boleh dilaksanakan. Setiap aplikasi yang dipasang di komputer dilengkapi dengan fail yang dapat dieksekusi. Untuk menjalankan aplikasi, fail yang dapat dilaksanakan dijalankan terlebih dahulu. Fail yang boleh dieksekusi ini juga disebut perintah.







Tanpa pemboleh ubah PATH, setiap perintah akan diperintahkan dengan jalur mutlak, seperti dalam,



/home/john/dir1/dir2/command.exe



di mana yang pertama / adalah direktori root; john adalah direktori pengguna untuk pengguna, John; dir1 dan dir2 adalah sub-direktori; dan command.exe adalah nama fail yang boleh dilaksanakan.





Banyak nama lain yang mungkin untuk fail yang boleh dilaksanakan. Sebenarnya, command.exe adalah simbolik, di sini. Jadi, jika direktori, / home / john / dir1 / dir2 (tanpa fail), terdapat dalam pemboleh ubah PATH, pengguna john, akan melaksanakan command.exe pada prompt, [dilindungi e-mel]: ~ $ dengan hanya menaip, command.exe, tanpa jalan sebelumnya. Itu dia:

[dilindungi e-mel]: ~ $perintah.exe

dan kemudian tekan Enter.

Untuk melihat senarai direktori PATH semasa di komputer, ketik:

$membuang $ PATH

dan tekan Enter, di terminal. Hasilnya akan menjadi seperti,

/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games: / usr / local / games: / snap / bin

Persoalannya sekarang: bagaimana direktori (dan jalan sebelumnya), ditambahkan ke pemboleh ubah PATH? Dengan beberapa pemasangan, direktori ditambahkan secara automatik. Dengan yang lain, ia mesti ditambah secara manual. Artikel ini menerangkan dua cara utama, di mana direktori ditambahkan. Direktori tidak ditambahkan (disertakan) seperti yang akan dilakukan pada array. Dua cara utama disebut sebagai Penambahan Sementara dan Penambahan Kekal. Bash adalah shell yang digunakan untuk contoh kod dalam artikel ini.

Kandungan Artikel

Penambahan Sementara

Penambahan sementara bermaksud penambahan hanya berlaku dalam ingatan. Ia tidak disimpan untuk digunakan semasa komputer dihidupkan semula.

Perintah Eksport Built-In Bourne Shell

Secara ringkas, arahan eksport adalah:

$eksport [nama[= nilai]]

Dalam kes ini, ia menetapkan semula nilai ke pemboleh ubah dalam memori.

Pemboleh ubah PATH dalam memori mungkin sudah mempunyai nilai seperti,

PATH = / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games: / usr / local / games: / snap / bin

Andaikan bahawa direktori yang akan ditambahkan adalah / home / john / dir1 / dir2. Sekiranya arahan eksport ditaip sebagai,

$eksport PATH=/kediaman/john/dir1/dir2

maka / home / john / dir1 / dir2 akan menggantikan semua yang ada dalam memori sebagai nilai untuk pemboleh ubah PATH.

Sekiranya arahan eksport ditaip sebagai,

$eksport PATH=$ PATH:/kediaman/john/dir1/dir2

Kemudian, / home / john / dir1 / dir2 akan melekatkan dirinya pada akhir apa yang sudah ada dalam pemboleh ubah. Jadi, pemboleh ubah baru adalah:

PATH = / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games: / usr / local / games: / snap / bin: / rumah / john / dir1 / dir2

Perhatikan bahawa pada baris kod sebelumnya di atas, bahagian nilai yang sudah ada dipisahkan dari bahagian baru dengan titik dua, iaitu ':'. $ PATH dalam barisan kod, berkembang (diganti) dengan nilai PATH yang sudah ada dalam memori.

Sekarang, perintah yang sama boleh terdapat di lebih dari satu direktori. Apabila perintah yang dapat dilaksanakan diketik tanpa jalur sebelumnya pada prompt, shell mulai mencari nilai (string) pemboleh ubah PATH dalam memori, dari kiri ke kanan. Jadi, dengan baris kod di atas, / home / john / dir1 / dir2 akan tiba akhirnya, dalam carian. Siapa yang mahu direktori-nya tiba terakhir? - Tiada siapa. Jadi, cara yang lebih baik untuk memasukkan (menambah) direktori, adalah seperti berikut:

$eksport PATH=/kediaman/john/dir1/dir2:$ PATH

/ home / john / dir1 / dir2 sekarang di awal, dipisahkan dari direktori seterusnya, dengan titik dua. Oleh itu, dengan arahan [dilindungi e-mel]: ~ $,

[dilindungi e-mel]: ~ $eksport PATH=/kediaman/john/dir1/dir2:$ PATH

setelah mengetik dan menekan Enter, perintah, command.exe dalam direktori, dir2, akan dijalankan dengan:

[dilindungi e-mel]: ~ $perintah.exe

Selagi komputer tidak dimatikan, pengguna akan terus menjalankan command.exe tanpa menaip jalan sebelumnya.

Semasa komputer dimatikan, semua memori rawak-akses akan terhapus. Berita buruknya ialah pengguna komputer perlu mengulangi proses penambahan direktori ke pemboleh ubah PATH setiap kali komputer dihidupkan semula. Tidak ada yang mahu melakukannya hari ini. Jadi, pendekatan Penambahan Tetap adalah pendekatan yang disyorkan. Iaitu, penambahan PATH, harus disimpan (ke dalam cakera keras).

Penambahan Kekal

Dari perbincangan di atas, ideanya adalah untuk menyimpan perubahan yang dibuat (ke dalam cakera keras). Jadi, jika perubahan disimpan ke dalam fail yang dibaca oleh shell setiap kali komputer boot, itu tidak masalah. Maksudnya, setiap kali komputer melakukan boot, pemboleh ubah PATH dalam memori akan dikemas kini dengan tepat. Semasa komputer dimulakan, semasa boot, komputer membaca fail tertentu. Salah satu fail yang dibaca oleh shell Bash untuk Linux adalah, ~ / .bashrc. Nama failnya ialah. bashrc , bermula dengan titik. Itu ada di dalam direktori pengguna.

Bash hanyalah satu shell, mungkin shell yang paling popular untuk Linux hari ini. Cengkerang lain untuk Linux ialah Zsh. Dengan Zsh, fail yang sesuai ialah ~ /. zshrc , masih ada di direktori pengguna. Apabila shell bermula, semasa boot, ia membaca fail ini. Untuk Bash, failnya adalah, ~ / .bashrc. Jadi, jika kod penambahan di atas ditaip ke dalam fail ~ / .bashrc, direktori akan selalu ada dalam ingatan, kerana ~ / .bashrc akan selalu memasukkannya ke dalam PATH, setiap kali komputer boot. Ia kekal dalam ingatan, sehingga komputer dimatikan.

Dalam Bash, ~ / .bashrc adalah fail tersembunyi, jadi penggunaan perintah biasa, tidak akan menunjukkannya. ~ / .bashrc mengandungi beberapa perintah Bash (shell). Ubuntu adalah varian Linux. Ubuntu dilengkapi dengan penyunting teks. Di komputer pengarang, latar belakang penyunting teks Ubuntu berwarna hitam.

Perintah penambahan di atas (tanpa arahan) harus dimasukkan ke dalam fail ~ / .bashrc. Adalah baik untuk menambahkannya di hujung fail agar tidak marah dengan kandungannya yang tersedia, yang mungkin berfungsi dengan baik.

Untuk membuka ~ / .bashrc di Ubuntu, ketik yang berikut di command prompt di terminal, dan tekan Enter:

$nano~/.bashrc

Di mana nano adalah penyunting teks. Di sini, nano adalah perintah (boleh dilaksanakan), yang hujahnya adalah, ~ / .bashrc. Kandungan fail harus dibuka di editor teks untuk melapisi tetingkap terminal.

Fail ~ / .bashrc akan dibuka di editor teks, mungkin dengan latar belakang hitam. Kursor akan berkelip di sudut kiri atas.

Tekan kekunci anak panah ke bawah pada papan kekunci secara berterusan sehingga kursor mencapai akhir fail. Tambahkan baris baru,

$eksport PATH=/kediaman/john/dir1/dir2:$ PATH

Bukan itu sahaja. Perubahan pada fail ~ / .bashrc belum disimpan. Untuk menyimpan fail dengan perubahan yang dibuat, tekan Ctrl + o, dan ikuti arahan lain yang muncul. Untuk keluar dari editor teks, tekan Ctrl + x, dan tetingkap terminal biasa harus menggantikan tetingkap penyunting teks. Perintah shell lain kemudian boleh dikeluarkan.

Sekiranya echo $ PATH dikeluarkan, direktori baru tidak akan dilihat di paparan. Terdapat dua cara untuk meneruskan dari sini: sama ada but semula komputer, atau masukkan kandungan baru fail ~ / .bashrc ke dalam memori dengan arahan sumber. Mudah menggunakan perintah sumber, seperti berikut:

$sumber~/.bashrc

Sekiranya arahan sumber dikeluarkan tanpa reboot, maka echo $ PATH akan menunjukkan direktori baru yang ditambahkan dalam hasil (paparan). Perintah minat kemudian boleh ditaip tanpa jalan sebelumnya.

Catatan: Jangan mengelirukan antara akhir nilai PATH (senarai) dan akhir fail ~ / .bashrc. Juga, jangan bingung antara direktori dalam PATH dalam memori, dan file yang dapat dieksekusi dalam direktori di hard disk.

Kesimpulannya

PATH adalah pemboleh ubah terbina dalam kerang Linux. Nilai PATH adalah senarai direktori yang dipisahkan oleh titik dua. Terdapat arahan (fail yang boleh dieksekusi) di dalam cakera keras untuk setiap direktori ini. Sekiranya arahan dikeluarkan semasa menjual tanpa mendahului jalan, shell akan memeriksa direktori ini untuk perintah tersebut. Sekiranya tidak melihat perintah di mana-mana direktori, maka perintah itu tidak akan dilaksanakan. Dalam hal ini, untuk melaksanakan perintah, perintah harus didahului dengan jalannya. Perintah boleh terdapat dalam lebih dari satu direktori dalam nilai PATH. Sebaik sahaja shell melihat direktori pertama yang mempunyai perintah, perintah tersebut akan melaksanakan perintah tersebut. Nilai PATH sebenarnya rentetan yang terdiri daripada direktori yang dipisahkan oleh titik dua.

Masalahnya adalah bagaimana menambahkan direktori untuk aplikasi baru yang dapat dijalankan ke dalam PATH. Dalam beberapa kes, ini dilakukan secara automatik oleh program pemasangan aplikasi baru. Dalam kes lain, ia mesti dilakukan secara manual. Ada dua cara melakukannya secara manual, disebut sebagai: Penambahan Sementara dan Penambahan Tetap. Penambahan Sementara menggunakan arahan eksport dan hanya menambah direktori semasa komputer dihidupkan. Penambahan Tetap harus menyimpan baris arahan eksport ke dalam fail inisialisasi ~ / .bashrc (Bash) untuk operasi masa depan.