Bagaimana saya mengatur ulang $ PATH ke nilai default di Ubuntu?


31

Saya tidak sengaja menghapus semua direktori $PATHketika mencoba untuk menambah yang baru ~/.bashrc. Saya membuka jendela terminal baru ketika saya sedang mengedit dan sekarang $PATHkosong. Saya khawatir jika saya boot dari drive lain untuk menemukan $PATHsaya tidak akan bisa boot ke drive ini lagi.

Pada dasarnya, apa hasil default echo $PATH?


1
Komentari atau perbaiki jalur ekspor itu dan Anda sebaiknya pergi.
Panther

~/.bashrcadalah tempat yang salah untuk mengatur variabel lingkungan. Anda harus melakukannya ~/.profilesebagai gantinya.
geirha

Ya saya sudah menemukannya. PATH masih baik-baik saja di jendela terminal lain yang terbuka sebelum yang baru, jadi perbaiki saja jalur ekspor dengan menambahkan :$PATHpada akhirnya pulihkan PATH. Dan ya di ~/.profilesana ada kode untuk "mengatur PATH jadi itu termasuk nampan pribadi pengguna jika ada" yaitu$HOME/bin
Cee

Jawaban:


35

Jawaban atas pertanyaan Anda adalah:

PATH=$(getconf PATH)

dan bekerja pada sistem yang mendukung POSIX. Jawaban yang dipilih adalah cara yang benar untuk menambah jalur tanpa menghapus konten yang ada sebelumnya. Jika Anda menggunakan bash, Anda dapat mempertimbangkan:

PATH+=:$mynewdir

Saya mengalami kesulitan menggunakan banyak perintah ( sed: No such file or directoryjenis masalah) setelah secara tidak sengaja mengatur PATH saya menjadi tidak ada selama proses yang berjalan sangat lama (yaitu, saya tidak bisa memulai kembali). Saya tidak bisa menggunakan getconf. Untuk mengatur ulang jalur saya, saya menggunakan $(export $(cat /etc/environment)":/usr/bin/additional:/usr/bin/paths"). Untuk yang penasaran: /etc/environmentadalah tempat variabel PATH awalnya diatur dalam banyak rasa Linux.
Nick Bull

2
Pekerjaan itu akan mengejutkan saya. Mungkin "ekspor" tanpa barang-barang sekitar "$ (...)" mungkin, tetapi akan menjadi apa pun yang terjadi di sana. Gunakan "source / etc / ..". Bagaimanapun, coba "/ usr / bin / getconf" jika Anda bahkan tidak dapat menemukan "getconf".
Bruce

Lebih suka ide akhir Anda menggunakan path lengkap lebih banyak daripada saya di belakang! Terima kasih atas jawabannya
Nick Bull

1
Jika variabel PATH kosong, maka PATH=$(getconf PATH)tidak akan berguna tetapi hanya menghasilkanbash: getconf: No such file or directory
Maks N

1
Jika PATH kosong, maka perhatikan komentar di atas: coba "/ usr / bin / getconf". Jika itu tidak berhasil, maka Anda perlu belajar di mana sistem Anda menyimpan perintah POSIX dan menggunakan direktori itu.
Bruce

17

Anda dapat menemukannya di / etc / environment:

$ /usr/bin/cat /etc/environment

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

Jadi, sumber saja:

$ source /etc/environment 
$ echo $PATH

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

1
cat tidak akan bekerja dengan cara seperti di jawaban Anda, karena tidak ada $ PATH
Josef Klimuk

Kamu benar. Saya baru saja memodifikasi jawabannya. Terima kasih!
Manuel Jesus Rodriguez

8

Menambahkan: $ PATH ke akhir jalur ekspor memperbaiki masalah mis export PATH=<directory to be added>:$PATH

Saya menambahkan baris ini ke ~/.bash_rcfile daripada ~/.profilefile sehingga saya dapat segera melihat efeknya di terminal baru dan untuk alasan lain berdasarkan informasi di sini: https://superuser.com/questions/176404/linux-bash-not- memuat-profil-dalam-sesi baru

Bagi saya, output default echo $PATHsebelum menambahkan direktori baru adalah:

/ usr / lib / lightdm / lightdm: / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games


3

Jalur default adalah

/home/_username_/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games 

Semoga ini bisa membantu Anda


Itu berbeda dari PATH default saya. Lihat di bawah.
Cee
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.