PATH değiştirildi, şimdi her şey için “komut bulunamadı” alıyorum


26

SSH ile bağlantılı Amazon Linux Server:

Apache kullanıcısının PATH'sini / etc / environment ( PATH=$PATH:/opt/openoffice4/program) ve / etc / sysconfig / httpd ( export PATH = ${PATH:$PATH:}/opt/openoffice4/program) 'da bazı değişiklikler yaparak değiştirmeye çalıştım .

Sonra yeniden başlattım.

Şimdi hiçbir şey yapamam, hatta ls -lyol açar.-bash: ls: command not found

Kontrolü tekrar kazanmak için ne yapabilirim?


4
Komutları doğrudan çalıştırabilir misin? Örneğin /bin/ls?
DavidPostill

evet, koşabilirim / bin / ls
Ferenjito 13:15

13
O zaman /bin/viyolu kırdığınız dosyaları çalıştırıp düzeltebilmelisiniz.
DavidPostill

Yanıtlar:


49

Kontrolü tekrar kazanmak için ne yapabilirim?

Çalışma /bin/vive yapılan değişiklikleri geri /etc/environmentve /etc/sysconfig/httpd.


32

PATHEditör olmadan ayarlayabilirsin . Bunu sadece kabuğa yazın:

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

1
Ve boşlukları kaldırın! PATH=something, DEĞİLPATH = something
vali 13:15

4
Alıntı yapılması gereken, aksi $HOMEtakdirde küreselleşmeye ve kelime bölünmesine maruz kalacaktır. IOW, $HOMEiçinde bir boşluk varsa (akla yatkın) veya herhangi bir glob karakterinde (daha az muhtemel) kırılır .
Kevin

@Kevin Denedim ve boşluklar ve küre yeni kopyalandı. (Yazma export PATH=/path to home/binelbette işe yaramıyor.)
Neil

2
@Kevin Bu kesinlikle uygulamalara uygun davranır, ancak en azından bash, exportbu soruna sahip olmayan özel sözdizimi kuralları verir . (Özel sözdizimi kuralları zaten izin örneğin başka nedenlerden dolayı istendi export array=(1 2 3).)
HVD

-1

Belki bu yardımcı olur:

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

'Export' komutu / usr / bin 'den kullanılmaz, bu yüzden hala çalışıyor!


1
Bu cevap çoktan önerildi.
kenoid
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.