私たちは
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
。