extglob
によって、ファイルパターンマッチにおいて、正規表現におけるグループ化のようなことができる。厳密な詳細は、公式マニュアル参照
$ shopt -s extglob
$ ls
abra abracadabra avada cadabra kedavra
$ echo ?(a@(br|vad)a)?(@(ke|ca)da[bv]ra)
abra abracadabra avada cadabra kedavra
このオプションは、 bash のパーサーに影響を与えるらしく、このオプションが off の時には、次のコマンドは文法エラーになる。
$ shopt -s extglob; echo ?(a@(br|vad)a)?(@(ke|ca)da[bv]ra)
-bash: syntax error near unexpected token `('