Вот три вопроса в одном ;-)
Параметр AUTO_CD и как его найти
Прежде всего, вы ищете опцию AUTO_CD. Вы можете легко найти это, посмотрев вверх man zshoptions
. Используйте функцию поиска пейджеров, обычно вы нажимаете /и вводите ключевое слово. С nвами перейти к следующему событию. Это поднимет следующее:
[..]
Changing Directories
AUTO_CD (-J)
If a command is issued that can't be executed as a normal command, and the command is the name of a directory, perform the cd command to that directory.
[..]
Опция может быть отменена с помощью unsetopt AUTO_CD
.
Отключение правильно
Вы используете oh-my-zsh, который описывается как
«Платформа сообщества для управления вашей конфигурацией zsh» Включает более 120 дополнительных плагинов (rails, git, OSX, концентратор, capistrano, brew, ant, macports и т. Д.), ...
Итак, следующая вещь, чтобы узнать, как включить / отключить параметры в соответствии с каркасом.
В файле readme.textile говорится, что предпочтительным способом включения / выключения плагинов будет запись в вашем .zshrc: plugins=(git osx ruby)
Узнайте, какой плагин использует опцию AUTO_CD. Как обнаружено из справочной страницы, его можно вызвать с помощью ключа -J или AUTO_CD. Поскольку oh-my-zsh доступен на github, его поиск приведет к появлению файла lib/theme-and-appearance.zsh
. Если вы не хотите отключать весь плагин "theme-and- unsetopt AUTO_CD
creation ", вставьте его в .zshrc. Не изменяйте файлы oh-my-zsh напрямую, потому что в случае обновления фреймворка ваши изменения будут потеряны.
Почему исполняемые файлы не вызываются напрямую
Ваш третий вопрос - как выполнить двоичный файл напрямую: вы должны выполнить свой двоичный файл по пути, например, с префиксом, ./
как в ./do-something
. Это какая-то функция безопасности и не должна быть изменена. Как подключить USB-накопитель, установить его и посмотреть на него с помощью ls
. Если существует исполняемый файл, ls
который удаляет ваш домашний каталог, все исчезнет, так как это перезапишет порядок вашего $ PATH.
Если у вас есть команды, которые вы вызываете неоднократно, установка псевдонима в вашем .zshrc была бы распространенным решением.
unsetopt auto_cd
строка (я прямо упомянул, что исполняемый файл находится на моем пути; тем не менее, объяснение может помочь другим пользователям разобраться).PATH
переменной окружения, которое они хотят иметь приоритет над autocd. Она не имеет ничего общего с неспособностью сценария оболочки, чтобы запустить исполняемый файл с путем без указания либо./
или/
.lib
каталогplugins
OMZ не имеет никакого отношения к. Относительно вопроса и, как вы сказали, правильная командаunsetopt
.