Saya menambahkan jalur direktori ke jalur sistem ( $PATH
) dengan menjalankan,
export PATH=$PATH:/home/avinash/Desktop/raj
Sekarang jalan saya terlihat seperti ini,
$ echo $ PATH / usr / lib / lightdm / lightdm: / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / game: / usr / local / games : / home / avinash / Desktop / raj
Saya ingin menghapus /home/avinash/Desktop/raj
dari variabel jalur sistem dengan menggunakan perintah ( seperti perintah ekspor tidak menambahkan jalur ).
command-line
Avinash Raj
sumber
sumber
Jawaban:
Menjalankan
export PATH=$PATH:/...
tidak mengatur seluruhPATH
sistem Anda . Itu hanya variabel shell. Mulai shell baru dan BOOM , itu hilang. Tentunya jika Anda telah menambahkannya ke~/.bashrc
(atau file bootstrap lingkungan lain), Anda harus mengembalikan perubahan itu tetapi tidak terdengar seperti masalah Anda di sini.Jika Anda tidak ingin memulai shell baru, Anda dapat mengaturnya dengan menghapusnya secara manual, dengan:
sumber
Di shell Anda saat ini (sesi gnome-terminal Anda saat ini), Anda dapat melakukan ini menggunakan:
Secara umum:
menghapus terpendek cocok dari
$substring
dari belakang dari$string
.Lihat manipulasi String untuk info lebih lanjut.
sumber
Jika Anda ingin menggunakannya sebagai perintah, berikut ini adalah skrip kecil:
Beri nama
unexport
, dan tambahkan ke PATH Anda.Pemakaian:
unexport /usr/local/bin /bin /sbin
Script ini sebenarnya tidak mengubah Anda
PATH
. Jika Anda ingin skrip melakukannya, Anda harus mengubah baris terakhir. Penggantiecho "export PATH=$PATH"
keexport PATH=$PATH
sumber
Jika Anda meletakkan
export
pernyataan dalam file inisiasi shell seperti~/.bashrc
, Anda dapat menggunakan perintah berikut di terminal,Ini akan menghapus folder dari jalur.
Jika Anda telah mengekspor jalur dari terminal
Folder akan berada di jalur selama Anda berada di shell itu. Untuk menimpa jalur Anda harus menetapkan jalur baru. Seperti yang sudah disebutkan dalam jawaban lain.
Anda dapat menggunakan perintah berikut untuk mengatur jalur lama
Atau sederhananya
Ini adalah Substring Replacement,
sumber
Satu hack kotor adalah
tr
grep -v
, danpaste
.ini mungkin tidak akan berfungsi dengan baik jika ada dir di PATH memiliki
:
atau baris barujika Anda sering melakukan hal ini, pertimbangkan untuk membuatnya berfungsi dan simpan di profil shell Anda (mis.
.bashrc
,.zshrc
)sumber
export PATH=$PATH:/home/avinash/Desktop/raj
(Di sini Anda telah menambahkan file ke variabel path.)echo $PATH
Jika Anda menjalankan perintah ini, Ini adalah output:
Bagaimana Anda menghapusnya dari jalur? jalankan saja
Ini adalah konsep penggantian string.
sumber
Perintah builtin shell
export
Tidak menentukan apakah suatu variabel diatur atau tidak, itu menentukan apakah variabel dan nilainya juga diatur dalam sub-proses.Mengubah variabel, yang diekspor atau tidak, tidak memengaruhi proses induk atau di atasnya, jadi mengubahnya dalam skrip tidak akan berpengaruh kecuali skrip tersebut dijalankan dengan
source
.Fungsi shell:
akan memotong komponen terakhir dari variabel PATH. Its
export
Status tidak terpengaruh.sumber
menyatakan -x PATH = "/ diinginkan / path / you_want" jika saya tidak salah itu sendiri akan memperbarui apa yang Anda inginkan dan itu sepenuhnya atas perintah Anda apa yang akan terjadi. [Pastikan Anda menjalankan sebagai root DAN sebagai pengguna yang diinginkan agar perubahan ini ingin Anda pengaruhi] Untuk menjadi ganda, jalankan ENV sesudahnya untuk memastikan bahwa $ PATH telah diubah secara efektif seperti yang Anda inginkan. (Ini dapat digunakan untuk mengubah salah satu output yang akan Anda dapatkan ketika Anda menjalankan '/ usr / bin / env'. Meskipun saya tidak tahu apakah itu permanen atau tidak. Dalam hal itu lakukan seperti yang dinyatakan di atas dan ubah ~ / .bashrc untuk untuk menempel)
sumber