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

时间:2016-12-11 05:29:56

标签: zsh zshrc

我正在尝试在我的.zshrc中复制Bash的help命令。我认为这样可行:

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

但这仅在我只传递一个参数时才有效 - 例如,help exit。当我将选项传递给help时,它不起作用,例如help -m exit(在Bash中有效)。但是,字面上输入bash -c "help -m exit"按预期工作。我想这与引用如何在shell中工作有关,但我无法弄明白。

2 个答案:

答案 0 :(得分:2)

您可以使用

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

答案 1 :(得分:0)

我想您需要使用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