代码之家  ›  专栏  ›  技术社区  ›  user1934428

关于Zsh中EQUALS选项的困惑

zsh
  •  0
  • user1934428  · 技术社区  · 5 年前

    在我的Zsh中

    echo =ruby
    

    扩展到

    /usr/bin/ruby
    

    这是Zsh的“equals”扩展。根据zsh手册页:

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

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

    setopt
    

    这个 等于 选项不会出现,也不会出现 诺奎尔斯 .我也不会在启动文件中设置它。

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

    0 回复  |  直到 5 年前
        1
  •  2
  •   chepner    5 年前

    setopt 不显示当前具有当前仿真模式默认值的值。在Zsh仿真模式下, EQUALS 默认情况下是打开的,所以 塞托普 只会显示 NO_EQUALS 如果该选项已关闭。

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