我正在尝试使 bash 补全在 zsh 中正常工作。
我知道需要加载这些内容~/.zshrc
:
autoload -Uz +X compinit && compinit
autoload -Uz +X bashcompinit && bashcompinit
我观察到的一件事是,该compgen
命令在 zsh 中的行为不同。
# In bash (as expected):
$ compgen -W "one two three" -- "t"
two
three
# In zsh ("one" is not expected to be listed)
$ compgen -W "one two three" -- "t"
one
two
three
尽管如此,完成仍然有效 - 但我试图理解为什么它们是不同的,也许存在不同的 compgen 语法,可以在两个 shell 中返回相同的结果。