Вопрос или проблема
Если я хочу получить краткое сообщение об использовании встроенной команды bash, я могу использовать help <builtin>
в командной строке, например.
$ help export
export: export [-fn] [name[=value] ...] или export -p
Установить атрибут экспорта для переменных оболочки.
Помечает каждое ИМЯ для автоматического экспорта в окружение последующих
выполняемых команд. Если ЗНАЧЕНИЕ указано, присвоить ЗНАЧЕНИЕ перед экспортом.
Опции:
-f ссылаться на функции оболочки
-n удалить свойство экспорта у каждого ИМЕНИ
-p отобразить список всех экспортированных переменных и функций
Аргумент `--' отключает дальнейшую обработку опций.
Статус выхода:
Возвращает успешный результат, если не указана неверная опция или ИМЯ неверно.
Как я могу сделать это в zsh? Я пробовал
% export --help
zsh: неверная опция: -e
и
% help export
zsh: команда не найдена: help
Кроме того, слово “help” нигде не встречается в man zshbuiltins
.
Спасибо @don_crissti за ссылку на документацию Arch wiki.
По какой-то причине код на Arch wiki вызывает эту ошибку при вызове
/home/velour/.zshrc:unalias:368: нет такого элемента хеш-таблицы: run-help
zsh –version => zsh 5.1.1 (x86_64-ubuntu-linux-gnu)
Чтобы это заработало, я добавил следующий блок в ~/.zshrc
, а затем закомментировал команду alias.
autoload -Uz run-help
autoload -Uz run-help-git
autoload -Uz run-help-svn
autoload -Uz run-help-svk
unalias run-help # Удаляет стандартный alias run-help=man
#alias help=run-help
И просто вызываю с помощью
run-help <builtin>
Теперь я получаю
% run-help export
export [ name[=value] ... ]
Указанные имена помечаются для автоматического экспорта в окружение
последующих выполняемых команд. Эквивалентно type-
set -gx. Если указанный параметр еще не существует, он
создается в глобальной области видимости.
Альтернативой функции run-help
является zman
, упомянутый в комментарии Reddit. Он является частью Zinit, но, похоже, работает независимо.
Добавление следующего в .zshrc
сработало для меня.
(основываясь на ответе the_velour_fog)
unalias run-help
alias help=run-help
autoload -Uz run-help
Ранее run-help
был псевдонимом для man
.
$ zsh --version
zsh 5.9 (x86_64-apple-darwin18.7.0)
$ zsh
\$ type run-help
run-help is an alias for man
\$ unalias run-help
\$ type run-help
run-help not found
\$ autoload -Uz run-help
\$ type run-help
run-help is an autoload shell function
\$ alias help=run-help
\$ help export
export [ name[=value] ... ]
Указанные имена помечаются для автоматического экспорта в окружение
последующих выполняемых команд. Эквивалентно type-
set -gx. Если указанный параметр еще не существует, он
создается в глобальной области видимости.
У них есть собственная страница man:
man zshbuiltins
Ответ или решение
Чтобы получить справочное сообщение о встроенных командах в оболочке Zsh, необходимо использовать уникальные команды и настройки, отличные от Bash. В отличие от Bash, где для получения справки используется команда help
, в Zsh необходимо применять другие методы.
Получение справки о встроенных командах Zsh
-
Использование команды
run-help
:
В Zsh можно использовать командуrun-help
, которая позволяет получить справочную информацию о встроенных командах. По умолчаниюrun-help
может быть переопределён, так что важно проверить его текущее состояние.Если команда
run-help
не настроена или у вас возникли проблемы, выполните следующие шаги:unalias run-help # Удаляем, если это алиас для man autoload -Uz run-help # Загружаем функцию run-help
Теперь вы можете использовать
run-help
следующим образом:run-help <встроенная_команда>
Например:
run-help export
Это покажет информацию о команде
export
. -
Создание алиаса для
help
:
Если вы хотите, чтобы вызов командыhelp
работал аналогично Bash, вы можете создать алиас, который будет перенаправлять вас наrun-help
:alias help=run-help
После этого можно получить справку так:
help export
-
Использование встроенного мануала:
Также рекомендуется воспользоваться встроенной справочной системой команд Zsh:man zshbuiltins
Этот мануал предоставляет полное описание всех встроенных команд, их синтаксиса и параметров.
Пример настройки .zshrc
Вот пример блока, который можно добавить в файл конфигурации ~/.zshrc
для настройки командной справки:
# Настройка справочной системы
unalias run-help # Удаляем алиас для run-help, если он установлен
autoload -Uz run-help # Загружаем функцию run-help
alias help=run-help # Определяем алиас для удобного доступа
После внесения этих изменений перезапустите оболочку или выполните source ~/.zshrc
, чтобы применить новые настройки.
Заключение
Знание различных способов получить справочную информацию о встроенных командах в Zsh поможет вам более эффективно использовать оболочку. Благодаря настройке run-help
и созданию алиаса для help
, вы сможете быстрее находить нужную информацию, что окажется полезным для улучшения вашей продуктивности.