无法编写函数来复制 Bash 的 'help' 命令的功能

Can't write function to replicate the functionality of Bash's 'help' command

我正在尝试在我的 .zshrc 中复制 Bash 的 help 命令。我认为这会起作用:

function help {
  bash -c "help $@"
}

但这只在我只传递一个参数时有效——例如,help exit。当我将选项传递给 help 时它不起作用,例如 help -m exit(在 Bash 中有效)。但是,按字面键入 bash -c "help -m exit" 会按预期工作。我想这与 shell 中的引用方式有关,但我想不通。

您可以使用

function help {
  bash -c "help $*"
}

我想您需要有关使用 zsh 的帮助,而不是 bash。 Bash 对 zsh 内置函数和功能一无所知,并且常见的内置函数差异很大,需要单独的文档页面。

bash 的 help 内置函数的等价物是 run-help,但默认情况下未激活。它还会为您调用 man 并附带一些有用的包装器。

TLDR;把这个放在 .zshrc

autoload -Uz run-help autoload -Uz run-help-git autoload -Uz run-help-ip autoload -Uz run-help-openssl autoload -Uz run-help-p4 autoload -Uz run-help-sudo autoload -Uz run-help-svk autoload -Uz run-help-svn alias help=run-help

https://wiki.archlinux.org/index.php/zsh#Help_command