Команда не найдена: завершена
У меня свежий mac передо мной, я установил homebrew (просто отлично), и о мой zsh (просто отлично).
Я пытаюсь установить autojump, который является интеллектуальной базой каталогов. Например, вы можете "прыгать" на ~/Documents
с помощью j doc
в терминале.
Я сделал это
brew install autojump
У меня уже есть мой .zshrc, который отлично выглядит, я думаю. Я добавил строку, в которой он сказал:
[[ -s `brew --prefix`/etc/autojump.sh ]] && . `brew --prefix`/etc/autojump.sh
Когда я запустил iterm2, я получаю следующее предупреждение:
/usr/local/Cellar/autojump/21.3.0/etc/autojump.bash:13: command not found: complete
/usr/local/Cellar/autojump/21.3.0/etc/autojump.bash:55: = not found
Я использовал brew для установки других вещей, и я могу успешно запустить autojump -s
, поэтому я знаю, что он видит $path
. Я не знаю, что еще может быть неправильно, поскольку это все новая установка.
Ответы
Ответ 1
В вашем .zshrc вы должны указать autojump.zsh, а не autojump.bash
(Я не знаю, где он будет находиться на Mac, но он будет в той же папке, что и autojump.bash).
В Ubuntu вот что вам нужно добавить в конце вашего .zshrc:
source /usr/share/autojump/autojump.zsh
Ответ 2
Чтобы устранить проблему, вы должны обновить строку:
[[ -s `brew --prefix`/etc/autojump.sh ]] && . `brew --prefix`/etc/autojump.sh
сказать:
[[ -s `brew --prefix`/etc/autojump.zsh ]] && . `brew --prefix`/etc/autojump.zsh
то есть. используйте .zsh версию autojump script. Это исправило это для меня.
Ответ 3
В этом файле нет Shebang. Это означает, что он, вероятно, интерпретируется Zsh.
Это проблема, потому что complete
- Bash встроенный.
Возможно, этот может быть для вас проблемой, или, может быть,
[[ -s `brew --prefix`/etc/autojump.sh ]] && bash `brew --prefix`/etc/autojump.sh
Ответ 4
Вам нужно добавить
[[-s `brew --prefix`/etc/autojump.sh]] && & && & & &, ` brew--prefix`/и т.д. /autojump.sh
на ваш ~/.bash_profile
Homebrew сообщает об этом, когда вы устанавливаете, но я не заметил его в первый раз и пришел к этой веб-странице в результате.