![次のシェルオプションの意味は何ですか - shopt -s nullglob extglob [重複]](https://linux33.com/image/149375/%E6%AC%A1%E3%81%AE%E3%82%B7%E3%82%A7%E3%83%AB%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E6%84%8F%E5%91%B3%E3%81%AF%E4%BD%95%E3%81%A7%E3%81%99%E3%81%8B%20-%20shopt%20-s%20nullglob%20extglob%20%5B%E9%87%8D%E8%A4%87%5D.png)
私たちは
bash -version
GNU bash, version 4.2.46(1)-release (x86_64-redhat-linux-gnu)
次のシェルオプションの意味は何ですか(bashスクリプトから)
shopt -s nullglob extglob
キャンセルする反対の方法は何ですか?
答え1
shopt -u
inを使用してシェルオプションの設定を解除できます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)
(例:と一致するが、または*
などの名前は一致しません)。this
that
$ shopt -s extglob $ touch this that theother $ echo !(this|that) theother
さまざまな種類の拡張ワイルドカードパターンがマニュアルに記載されています
bash
。