bash [-+]O shopt_name このマニュアルで期待どおりに機能しません。

bash [-+]O shopt_name このマニュアルで期待どおりに機能しません。

Bashのマニュアルは次のように言います:

  [-+]O [shopt_option]
          shopt_option is one of the shell options accepted by the
          shopt builtin (see SHELL BUILTIN COMMANDS below).  If
          shopt_option is present, -O sets the value of that option;
          +O unsets it.  If shopt_option is not supplied, the names
          and values of the shell options accepted by shopt are
          printed on the standard output.  If the invocation option
          is +O, the output is displayed in a format that may be
          reused as input.

しかし、現在bashインスタンスにデフォルトでextglobオプションが設定されているとしましょう。 bashを実行して新しいインスタンスを呼び出すと、bash +O extglobextglobは新しいインスタンスに対して引き続き設定されます。ただし、 shopt -u extglob新しいインスタンスで実行すると、extglobは設定解除されます。

どうしたの?なぜbash [-+]O opt_name動作しないのですか?

問題に対する私の唯一の推測は、おそらく私が走ったときにbash +O extglob最初にブートローダーextglobのbashを閉じてから再度bashします。始めるすべての設定ファイルを読み込み、extglobのようにデフォルトでオンにする必要があるすべてのshoptオプションを有効にします。したがって、extglobが最初に無効になっていても再度有効にしてください。

関連情報