Я обновлял свой .bash_profile, и, к сожалению, я сделал несколько обновлений, и теперь я получаю:
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
-bash: tar: command not found
-bash: grep: command not found
-bash: cat: command not found
-bash: find: command not found
-bash: dirname: command not found
-bash: /preexec.sh.lib: No such file or directory
-bash: preexec_install: command not found
-bash: sed: command not found
-bash: git: command not found
Мой bash_profile фактически извлекает другие файлы .sh (их источники), поэтому я не совсем уверен, какая модификация могла вызвать это.
Теперь, если я даже пытаюсь и список файлов, я получаю:
>ls
-bash: ls: command not found
-bash: sed: command not found
-bash: git: command not found
Любые советы о том, как отследить источник ошибки и как использовать терминал для базовых операций, таких как перечисление файлов и т. Д.?
command-line
bash
Бланкмэн
источник
источник
-bash: sed: command not found -bash: git: command not found
/etc/environment
, используйте следующую команду (в centos 6):ssh -t root@<server-ip> "/bin/bash -c '/bin/mv /etc/environment /tmp/'"
Ответы:
Мне кажется, что в тот или иной момент вы перезаписываете
PATH
переменную среды по умолчанию . Тип ошибок, которые у вас есть, указывает, чтоPATH
не содержит данных/bin
, где находятся вышеуказанные команды (в том числеbash
).Например, если вы делаете
вместо
источник
export PATH=PATH:EC2_HOME/bin
export PATH=$PATH:EC2_HOME/bin
$
следующим образом:export PATH=$PATH:$EC2_HOME/bin
Один из способов начать отладку сценария bash - запустить подоболочку с параметром -x:
Это покажет вам каждую команду и ее аргументы, которые выполняются при запуске этой оболочки.
Опция --login указана, потому что .bash_profile читается оболочкой входа в систему. Дополнительную информацию об отладке сценариев bash можно найти здесь: http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_02_03.html .
В конечном счете, я думаю, что январское предложение сработает для вас, но эту ссылку стоит прочитать для будущих проблем.
источник
Возможно, я нашел проблему. Это сработало для меня, и это может сработать для вас ...
Я по умолчанию с моим редактором в Windows (LF / CR) сохраняет. Поскольку я использую обе системы, это казалось логичным. Когда мне нужно было возиться с моим
.bash_profile
, я понял, комментируя и пробуя вещи, которые ничего не помогали. Я изменил свои сохранения в формат OS X (только CR) и вуаля! Нет больше "команда не найдена" в терминале!Это может быть так просто!
источник
$ dos2unix .bash_profile
После я не мог перезапустить. ~ / .bash_profile или любые обычные команды, такие как whoami, grep и т. д. Я нашел способ просто реэкспортировать требуемые пути:
Это должно работать в большинстве систем, хотя некоторые из этих путей присутствуют не во всех пакетах Linux. Это сработало для меня.
источник
Я думаю, что я мог бы найти ответ на эту проблему, если бы не вы, а затем другие, у которых есть аналогичные проблемы. Мой ответ на это, что у меня нет
.bash_profile
.Поэтому я искал по всей сети, и я нашел решение. Что в основном открыть терминал, наберите
touch ~/.bash_profile
и нажмите Enter. Это исправило мои проблемы. Надеюсь, это то же самое для васисточник
У меня такая же проблема, как и у вас. Я не могу использовать многие популярные команды (
ls
,vi/vim
..) и не могу редактировать ,/root/.bashrc
когда я войти сsu
в корень.В заключение. Я нашел решение этой проблемы. Просто войдите в систему root с помощью команды:
После этого вы можете использовать
редактировать PATH.
Удачи!
источник
У меня такая же проблема. Возможно, вы пропустили $ при экспорте PATH. Вы должны открыть .bash_profile в TextEdit. Если вы не можете найти файл в каталоге, нажмите Ctrl + Shift +>, чтобы показать скрытые файлы.
Затем внесите исправление в PATH и затем сохраните.
В каталоге на терминале введите: source .bash_profile.
Это должно решить проблему.
источник
У меня была точно такая же проблема:
Если я положу в lxterminal:
если я ввел точно такую же команду в tty2, я получил:
\ r означает конец строки в DOS, поэтому я открыл файл
~/.bashrc
и изменил концы строк в Krusader на стиль unix. И это уже работает !!! :-)DOS EOL создают большие проблемы также в скриптах bash.
источник
Я получил ту же проблему только сейчас, после того как я изменил
.bash_profile
. И я хочу изменить его обратно, но теперь я не могу, потому что я потерял все команды, особенно команду nano и команду vim, поэтому я не могу открыть .bash_profile с командой. И.bash_profile
это скрытый файл, который я не могу открыть с помощью Finder.Поэтому мне нужно найти способ открыть файл .bash_profile. После того, как я попробовал много способов, я обнаружил, что могу использовать Atom , потому что Atom может читать все файлы в папке проекта, включая скрытые файлы. Так что просто откройте Atom и выберите папку
File -> Open
, выберите<yourusername>
папку, а затем все скрытые файлы, отображаемые в древовидном представлении Atom, включая.bash_profile
!! После того, как я удалил последнюю модификацию и снова открыл Терминал, все команды вернулись! :)источник