为什么 zsh setopt 命令和 $- 不一样?

为什么 zsh setopt 命令和 $- 不一样?

我正在使用 zsh,如果我输入setopt它会显示

autocd
nobeep
extendedglob
interactive
login
monitor
shinstdin
zle
  • 数到 8。

而如果我输入echo $-它会显示:

569BJXZilms
  • 数到11。

为什么$-要给更多的选择呢?

答案1

setopt只会显示从默认值更改的选项:

默认情况下为仿真打开的选项no仅在关闭时才会显示带有前缀,而其他选项no仅在打开时才会显示而不带前缀。除了用户从默认状态更改的选项之外,由 shell 自动激活的任何选项(例如SHIN_STDININTERACTIVE)都将显示在列表中。

<Z>默认情况下打开的选项在联机帮助页中标有zshooptions(1)。例如:

NOTIFY (-5, ksh: -b) <Z>

它出现在 中$-,但不在 的输出中setopt

相关内容