Zsh中EQUALS选项的混淆

Zsh中EQUALS选项的混淆,zsh,Zsh,在我的Zsh中,表达式 echo =ruby 扩展到 /usr/bin/ruby 这是Zsh的“equals”展开式。根据zsh手册页: 如果一个单词以不带引号的“=”开头,并且设置了“等于”选项,则该单词的其余部分将作为命令名 现在,让我困惑的是,当我做 setopt equals选项不显示,noquals也不显示。我也没有在启动文件中设置它 我想知道为什么它是默认设置的,为什么setopt不显示此选项的状态。setopt不显示当前仿真模式下具有默认值的值。在Zsh仿真模式下,默认情况下

在我的Zsh中,表达式

echo =ruby
扩展到

/usr/bin/ruby
这是Zsh的“equals”展开式。根据zsh手册页:

如果一个单词以不带引号的“=”开头,并且设置了“等于”选项,则该单词的其余部分将作为命令名

现在,让我困惑的是,当我做

setopt
equals选项不显示,noquals也不显示。我也没有在启动文件中设置它


我想知道为什么它是默认设置的,为什么setopt不显示此选项的状态。

setopt
不显示当前仿真模式下具有默认值的值。在Zsh仿真模式下,默认情况下,
EQUALS
处于启用状态,因此如果关闭该选项,
setopt
将仅显示
NO_EQUALS

至于为什么默认情况下它是打开的?作者认为这是一个足够有用的特性,值得这样做。这两种选择都没有“合乎逻辑”的理由