Mengubah PATH, sekarang saya mendapatkan "perintah tidak ditemukan" untuk semuanya

26

Amazon Linux Server, terhubung dengan SSH:

Saya mencoba mengubah PATH untuk pengguna apache dengan membuat beberapa perubahan di / etc / environment ( PATH=$PATH:/opt/openoffice4/program) dan / etc / sysconfig / httpd ( export PATH = ${PATH:$PATH:}/opt/openoffice4/program).

Lalu saya reboot.

Sekarang, saya tidak bisa melakukan apa-apa, bahkan ls -lmengarah ke-bash: ls: command not found

Apa yang bisa saya lakukan untuk mendapatkan kembali kendali?

Ferenjito
sumber
4
Bisakah Anda menjalankan perintah secara langsung? Misalnya /bin/ls?
DavidPostill
ya, saya bisa menjalankan / bin / ls
Ferenjito
13
Maka Anda harus dapat menjalankan /bin/vidan memperbaiki file di mana Anda melanggar jalan.
DavidPostill

Jawaban:

49

Apa yang bisa saya lakukan untuk mendapatkan kembali kendali?

Jalankan /bin/vidan kembalikan perubahan yang Anda buat ke /etc/environmentdan /etc/sysconfig/httpd.

DavidPostill
sumber
32

Anda dapat mengatur PATHtanpa editor. Ketikkan ini di shell:

export PATH=/usr/local/bin:/usr/bin:/bin:$HOME/bin
Tom Zych
sumber
1
Dan hapus spasi! PATH=something, BUKANPATH = something
waltinator
4
Itu harus dikutip, kalau tidak $HOMEakan menjadi globbing dan pemisahan kata. TKI, itu akan pecah jika $HOMEmemiliki ruang di dalamnya (masuk akal) atau karakter gumpalan (kurang mungkin).
Kevin
@ Kevin Saya mencobanya dan spasi dan gumpalan baru saja disalin. (Menulis export PATH=/path to home/bintidak berhasil, tentu saja.)
Neil
2
@Kevin Begitulah cara kerjanya dalam implementasi yang benar-benar sesuai, tetapi setidaknya bash memberikan exportaturan sintaks khusus yang tidak memiliki masalah itu. (Aturan sintaks khusus sudah diperlukan untuk alasan lain, misalnya untuk mengizinkan export array=(1 2 3).)
hvd
-1

Mungkin ini akan membantu:

export PATH=/usr/local/bin:/usr/bin:/bin:$HOME/bin

Perintah 'ekspor' tidak digunakan dari / usr / bin, jadi itu sebabnya masih berfungsi!

Felix Weber
sumber
1
Jawaban ini sudah disarankan.
xenoid