zsh setoptコマンドが$-と異なるのはなぜですか?

zsh setoptコマンドが$-と異なるのはなぜですか?

私はzshを使用していますが、入力するとsetopt表示されます。

autocd
nobeep
extendedglob
interactive
login
monitor
shinstdin
zle
  • 8まで数える。

そして、私が入力すると、echo $-次のように表示されます。

569BJXZilms
  • 11まで数える。

なぜ$-より多くの選択肢を与えるのですか?

答え1

setoptデフォルトから変更されたオプションのみが表示されます。

エミュレーション用にデフォルトでオンになっているオプションは、オフの場合はプレフィックスnoとのみ表示され、他のオプションはオンの場合noはプレフィックスなしでのみ表示されます。ユーザーがデフォルト状態で変更したオプションに加えて、シェルで自動的に有効になっているすべてのオプション(SHIN_STDINまたは)がリストに表示されます。INTERACTIVE

<Z>デフォルトでは、オンになっているオプションはマンページに表示されていますzshooptions(1)。たとえば、

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

には表示されます$-が、出力には表示されませんsetopt

関連情報