Я использую z Shell ( zsh
) вместо bash по умолчанию, и происходит что-то не так, так что все команды, которые раньше работали, больше не распознаются:
ls
zsh: command not found: ls
open -e .zshrc
zsh: correct 'open' to '_open' [nyae]?
Я не знаю, как выполнить сброс zsh
или как это исправить. Вот содержимое $PATH
переменной:
echo $PATH
/Users/Malloc/bin/Sencha/Cmd/3.1.2.342:/usr/local/bin/mate
Я не могу открыть .bash_profile
ни .zshrc
файл, ни файл, кажется, единственное решение - сбросить zsh
. Любые идеи?
РЕДАКТИРОВАТЬ:
Я даже пытался выполнить сброс, zsh
как указано в этой ветке , но всегда получал command not found
ошибку:
exec zsh
zsh: command not found: zsh
так что же происходит? почему все команды потеряны?
В вашем конфигурационном файле ~ / .zsh укажите путь к вашему файлу пути bash, который содержит ваши псевдонимы. В моем случае это было включение строки «source ~ / .bash_profile» в ~ / .zsh.
источник
~/.zsh
файла. Вместо этого мне пришлось его вставить/etc/zshrc
.Используйте хороший текстовый редактор, например VS Code, и откройте
.zshrc
файл (он должен находиться в вашем домашнем каталоге. Если вы его не видите, не забудьте щелкнуть правой кнопкой мыши в папке с файлом при открытии и выбрать опцию «показать скрытые файлы») ,найдите, где говорится:
export PATH=a-bunch-of-paths-separated-by-colons:
вставьте это в конец строки, перед конечной цитатой:
:$HOME/.local/bin
И это должно сработать для вас.
Сначала вы можете проверить, будет ли это работать, набрав это в своем терминале:
export PATH=$HOME/.local/bin:$PATH
Если ошибка исчезнет после того, как вы введете это в терминал, и ваш терминал будет нормально работать, вышеуказанное решение будет работать. Если это не так, вам нужно будет найти папку, в которой находится ваша справочная ошибка (вещь не найдена), и заменить PATH выше на PATH-TO-THAT-FOLDER.
источник
PATH
настройки. Из bash я привык к префиксу каталогов внутри моей домашней папки с помощью~
. Итак, оказывается, что для zsh я должен вместо этого использовать$HOME
переменную, как в вашем примере.Вы можете создать символическую ссылку в / usr / local / bin /
источник
$HOME
и не указывал относительный путь. Использование полного пути с$HOME
устранением моей проблемы.$PATH
в этом случае лучше добавить их .Для меня просто перезапуск моего терминала решил проблему.
источник
Я исправил проблему, открыв общую вкладку настроек терминала и изменив команду (полный путь)
/bin/bash
на значение по умолчанию, а затем отредактировав~/.zshrc
файл.... без пробелов между
PATH="
и сохранить файл.После сохранения файла измените
/bin/zsh
в своей команде или выберите по умолчанию... и перезапустите терминал, и ваша оболочка zsh снова заработает!
источник
Если я вам нравлюсь, у вас будет два приложения для терминалов, одно - это терминал по умолчанию с bash в качестве оболочки по умолчанию, а другое - iTerm 2 с zsh в качестве оболочки. Чтобы обе команды и zsh были в iTerm 2 из bash, вам необходимо сделать следующее:
На iTerm 2 перейдите в настройки (или команду,). Затем перейдите на вкладку профиля и перейдите к команде . Как вы можете видеть на рисунке ниже, вам нужно выбрать параметр команды и вставить путь оболочки zsh (чтобы найти путь, вы можете это сделать
which zsh
).На этом этапе у вас будет zsh в качестве оболочки по умолчанию ТОЛЬКО для iTerm 2, и у вас будет bash в качестве глобальной оболочки по умолчанию для терминального приложения Mac по умолчанию. Далее, нам по-прежнему не хватает команд из bash в zsh. Итак, чтобы сделать это, вам нужно перейти на ваш bash (где у вас работают ваши команды) и получить переменную PATH из env (используйте эту команду для этого:)
env | grep PATH
.Как только у вас есть это, перейдите в свой iTerm 2 и вставьте свой путь в опцию «отправить текст при запуске».
Просто снова откройте iTerm 2, и все готово!
источник
Мое решение:
Вернуться на
bash
:следующий:
скопируйте это:
назад к
zsh
:открыто
.zshrc
:и вставьте:
перезапустить терминал
источник
Лучшее решение для меня для постоянного изменения пути
Откройте Finder-> перейдите в папку / Users / / usr / local / bin
открыть .zshrc с помощью TextEdit
.zshrc - это скрытый файл, поэтому отобразите его командой + shift +. Нажмите
удалить содержимое файла и тип
экспорт ПУТЬ = ~ / usr / bin: / bin: / usr / sbin: / sbin: $ PATH
и сохранить
сейчас
zsh: команда не найдена Gone
источник
В моем случае закомментированный код был раскомментирован в самой первой строке по ошибке.
Хеш был удален. После добавления обратно работал нормально.
Я только что разместил это здесь, чтобы кто-то нашел это полезным. Потому что это только начало строки и может быть удалено по ошибке, как это сделал я. И, похоже, после нескольких попыток решения нет.
источник
Перезапуск терминала тоже помог мне.
источник
Как говорили другие, простой перезапуск терминала после того, как вы внесли изменения, должен сбросить и изменения, внесенные вами в файл ~ / .zshrc. Например, после добавления функции для открытия визуальной студии:
Я смог использовать код ключевого слова, чтобы открыть программу из командной строки.
источник
Один из способов отредактировать файл .zshrc без использования iTerm2 или собственного терминала в macOS - использовать терминал в другом приложении. Например, я использовал терминал как часть VSCode и смог найти и отредактировать файл.
источник
Удаление и переустановка zsh у меня сработали:
источник