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?

Cee
sumber
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
Bruce
sumber
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
Manuel Jesus Rodriguez
sumber
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

Cee
sumber
3

Jalur default adalah

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

Semoga ini bisa membantu Anda

Celana Vibhav
sumber
Itu berbeda dari PATH default saya. Lihat di bawah.
Cee