Variabel PATH selalu diatur ulang. Bagaimana cara memperbaikinya?

9

Beberapa waktu yang lalu, saya tahu, bahwa saya dapat membuat commandterminals khusus dengan memperluas variabel PATH. Sayangnya, ini akan selalu diatur ulang, ketika saya menutup terminal dan membukanya lagi.

Apakah Anda tahu cara memperbaiki masalah ini?

Karena ketika saya ingin memulai beberapa skrip dengan perintah terminal, saya tidak ingin memperluas variabel PATH setiap kali sebelum ...

Jenne
sumber
1
Taruh di tanganmu .bashrc?
gniourf_gniourf
Bagaimana cara melakukannya? Saya baru di Linux;)
Jenne
2
buka .bashrcfile Anda seperti ini: gedit ~/.bashrcdan letakkan apa pun yang Anda inginkan di sana (di bagian bawah file lebih baik), misalnya, PATH="~/my/cool/path/:$PATH"dan ekspor variabel ini: setelah baris yang baru saja Anda masukkan, masukkan export PATHkemudian simpan file, kemudian tutup terminal Anda dan buka kembali dan sekarang file executable Anda ~/my/cool/pathakan ditemukan.
gniourf_gniourf
Saya menulisnya sebagai jawaban lengkap untuk Anda ...:)
gniourf_gniourf
Kemungkinan duplikat dari Bagaimana cara menambahkan direktori ke PATH?
David Foerster

Jawaban:

15

Saya mengerti Anda memiliki beberapa file yang dapat dieksekusi di salah satu folder rumah Anda, misalnya, di ~/bindan Anda ingin dapat mengeksekusinya tanpa selalu mengetikkan path lengkap ~/bin/my_cool_executable.

Anda sudah mengamati bahwa memasuki PATH=~/bin:$PATHterminal Anda membuat sesuatu bekerja ... tetapi hanya sampai Anda menutup terminal. Saat Anda membuka yang baru, PATHvariabel lama Anda akan direset ke nilai aslinya. Ngomong-ngomong, saya kira Anda tahu bagaimana caranya, kapan saja, memeriksa nilai PATHvariabel: seperti:

echo "$PATH"

Bagaimana membuat perubahan Anda permanen sehingga Anda PATHakan tetap sama ketika Anda membuka kembali terminal baru? Ini sangat mudah, Anda hanya perlu mengedit .bashrcfile Anda . Mari kita gunakan gediteditor: Di terminal, ketik ini:

gedit ~/.bashrc

Ini membuka gediteditor. Gulir ke akhir file dan tambahkan ini:

# Added by me on 2013/06/24
PATH=~/bin:$PATH
export PATH

dan simpan file dan berhenti gedit. Kemudian tutup terminal Anda dan buka yang baru. Sekarang PATHvariabel Anda harus ada ~/bindi depannya sehingga perintah Anda ~/binakan dapat diakses tanpa mengetik path lengkapnya. Dan Anda tahu bagaimana untuk memeriksa bahwa: echo "$PATH".

Nikmati!

Peringatan . Ini dianggap praktik buruk dan kerentanan keamanan untuk dimasukkan ke .dalam PATHvariabel Anda .

gniourf_gniourf
sumber
Jadi, itu sangat bagus, tapi sekarang saya tidak bisa memulai program, ketika saya root. Apakah Anda tahu mengapa dan bagaimana cara memperbaikinya? :)
Jenne
Dalam hal ini, satu opsi adalah menempatkan program Anda /usr/local/binalih-alih mengutak-atik PATHvariabel ... atau /usr/local/sbinjika mereka hanya harus diakses oleh root.
gniourf_gniourf
Beberapa harus dijalankan sebagai root dan beberapa tidak. Jadi akan lebih baik, jika itu tidak masalah dan mereka bisa berada di direktori khusus. Jadi apakah bisa melakukan itu? :)
Jenne