Команды не найдены на zsh
Я использую z Shell (zsh
) вместо стандартного bash, и что-то не так, что все команды, которые раньше работали, больше не распознаются:
ls
zsh: command not found: ls
open -e .zshrc
zsh: correct 'open' to '_open' [nyae]?
Я не знаю, как reset zsh
или как это исправить. Вот содержание переменной $PATH
:
echo $PATH
/Users/Malloc/bin/Sencha/Cmd/3.1.2.342:/usr/local/bin/mate
Я не могу открыть файл .bash_profile
или файл .zshrc
, кажется единственным решением для reset zsh
. Есть идеи?
EDIT:
Я даже пытался reset zsh
, как указано в этот поток, но всегда получал ошибку command not found
:
exec zsh
zsh: command not found: zsh
так что происходит? почему все команды потеряны?
Ответы
Ответ 1
Очевидно, что вам удалось испортить вашу переменную PATH
. (Ваш текущий PATH
не содержит места, где находятся общие утилиты.)
Try:
PATH=/bin:/usr/bin:/usr/local/bin:${PATH}
export PATH
В качестве альтернативы для "сброса" zsh укажите полный путь к оболочке:
exec /bin/zsh
или
exec /usr/bin/zsh
Ответ 2
-
Используйте хороший текстовый редактор, такой как Sublime, и откройте свой .zshrc файл (должен быть в вашем домашнем каталоге. Если вы его не видите, не забудьте щелкнуть правой кнопкой мыши в папке с файлом при открытии и выборе опция "показывать скрытые файлы" ).
-
найти, где указано: export PATH = "a-bunch-of-paths-separate-by-colons:"
-
вставьте это в конец строки, перед конечной цитатой:: $HOME/.local/bin
И он должен работать для вас.
Вы можете проверить, будет ли это работать первым, сначала напечатав это в своем терминале: export PATH = $HOME/.local/bin: $PATH
Если ошибка исчезнет после ввода ее в терминал, и ваш терминал функционирует нормально, это решение будет работать. Если это не так, вам нужно найти папку, в которой находится эта ссылочная ошибка (вещь не найдена), и замените PATH выше с помощью PATH-TO-THAT-FOLDER.
Ответ 3
Вы можете создать символическую ссылку в /usr/local/bin/
sudo ln -s $HOME/.composer/vendor/bin/homestead /usr/local/bin/homestead
Ответ 4
Для меня просто перезагрузка моего терминала, похоже, устранила проблему.
Ответ 5
В конфигурационном файле ~/.zsh укажите путь к файлу пути bash, содержащему ваши псевдонимы. В моем случае он включал строку "источник ~/.bash_profile" внутри ~/.zsh.
Ответ 6
Я исправил проблему, открыв вкладку общих настроек терминала и изменив команду (полный путь) на /bin/bash
по умолчанию, а затем отредактировав файл ~/.zshrc
.
![enter image description here]()
export PATH="all your path inside the quotes"
... без пробелов между PATH="
и сохранением файла.
![enter image description here]()
После сохранения файла измените /bin/zsh
в своей команде или выберите значение по умолчанию
![enter image description here]()
... и перезагрузите терминал, и вы должны снова запустить рабочую оболочку zsh!
Ответ 7
Перезапуск терминала также помогло.
Ответ 8
Как говорили другие, просто перезагрузка терминала после внесения изменений должна быть reset и изменений, внесенных вами в файл ~/.zshrc. Например, после добавления функции для открытия визуальной студии:
function code {
if [[ $# = 0 ]]
then
open -a "Visual Studio Code"
else
local argPath="$1"
[[ $1 = /* ]] && argPath="$1" || argPath="$PWD/${1#./}"
open -a "Visual Studio Code" "$argPath"
fi
}
Я смог использовать код ключевого слова, чтобы открыть программу из командной строки.