次のシェルオプションの意味は何ですか - shopt -s nullglob extglob [重複]

次のシェルオプションの意味は何ですか - shopt -s nullglob extglob [重複]

私たちは

 bash -version
GNU bash, version 4.2.46(1)-release (x86_64-redhat-linux-gnu)

次のシェルオプションの意味は何ですか(bashスクリプトから)

shopt -s nullglob extglob

キャンセルする反対の方法は何ですか?

答え1

shopt -uinを使用してシェルオプションの設定を解除できますbash

shopt -u nullglob extglob

どちらのオプションも設定が解除されます。これについては、bashマニュアルとhelp shoptインタラクティブシェルの両方で説明されていますbash

ここで言及されている特定のオプションはマニュアルbashでよく説明されていますが、簡単に言えば

  • nullglob:ファイル名と一致しないファイル名ワイルドカードパターンは拡張されていないままではなく、単に何も拡張されません。

    $ echo my*file
    my*file
    $ shopt -s nullglob
    $ echo my*file
    

    (最後のechoものは空行以外には出力がありません)

  • extglob:拡張ワイルドカードパターンを有効にします!(this|that)(例:と一致するが、または*などの名前は一致しません)。thisthat

    $ shopt -s extglob
    $ touch this that theother
    $ echo !(this|that)
    theother
    

    さまざまな種類の拡張ワイルドカードパターンがマニュアルに記載されていますbash

関連情報