Подтвердить что ты не робот

Команды не найдены на 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

так что происходит? почему все команды потеряны?

4b9b3361

Ответ 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
}

Я смог использовать код ключевого слова, чтобы открыть программу из командной строки.