zsh 上的 compgen 返回的结果与 bash 上的不同

zsh 上的 compgen 返回的结果与 bash 上的不同

我正在尝试使 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 中返回相同的结果。

相关内容