Изменил PATH, теперь я получаю «команда не найдена» для всего


26

Amazon Linux Server, связанный с SSH:

Я попытался изменить PATH для пользователя apache, внеся некоторые изменения в / etc / environment ( PATH=$PATH:/opt/openoffice4/program) и / etc / sysconfig / httpd ( export PATH = ${PATH:$PATH:}/opt/openoffice4/program).

Затем я перезагрузился.

Теперь я ничего не могу сделать, даже ls -lприводит к-bash: ls: command not found

Что я могу сделать, чтобы восстановить контроль?


4
Можете ли вы запускать команды напрямую? Например /bin/ls?
DavidPostill

да, я могу запустить / bin / ls
Ferenjito

13
Тогда вы сможете запускать /bin/viи исправлять файлы, где вы прервали путь.
DavidPostill

Ответы:


49

Что я могу сделать, чтобы восстановить контроль?

Запустите /bin/viи отмените изменения, которые вы внесли в /etc/environmentи /etc/sysconfig/httpd.


32

Вы можете установить свой PATHбез редактора. Просто введите это в оболочке:

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

1
И убери пробелы! PATH=something, НЕPATH = something
вальтинатор

4
Это должно быть в кавычках, иначе это $HOMEможет быть предметом глобализации и расщепления слов. IOW, он сломается, если в нем $HOMEесть пробел (правдоподобно) или любые символы глобуса (менее вероятно).
Кевин

@Kevin Я попробовал это, и места и шары были просто скопированы. (Письмо export PATH=/path to home/binне работает, конечно.)
Нил

2
@Kevin Вот как он ведет себя в строго соответствующих реализациях, но, по крайней мере, bash предоставляет exportпользовательские правила синтаксиса, которые не имеют такой проблемы. (Пользовательские правила синтаксиса уже требовались по другим причинам, например, чтобы разрешить export array=(1 2 3).)
hvd

-1

Может быть, это поможет:

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

Команда 'export' не используется из / usr / bin, поэтому она все еще работает!


1
Этот ответ уже был предложен.
ксеноид
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.