![bash extglob 中的模式列表包含 / 和 |](https://linux22.com/image/225196/bash%20extglob%20%E4%B8%AD%E7%9A%84%E6%A8%A1%E5%BC%8F%E5%88%97%E8%A1%A8%E5%8C%85%E5%90%AB%20%2F%20%E5%92%8C%20%7C.png)
这是命令(及其输出)的记录,解释了我的问题:
/tmp/example $ shopt -s
cdspell on
checkwinsize on
cmdhist on
complete_fullquote on
direxpand on
dirspell on
expand_aliases on
extglob on
extquote on
failglob on
force_fignore on
globstar on
histappend on
interactive_comments on
login_shell on
nocaseglob on
nullglob on
progcomp on
promptvars on
sourcepath on
/tmp/example $ ls -R
.:
prefix_bar prefix_foo
./prefix_bar:
test.c
./prefix_foo:
baz test.c
./prefix_foo/baz:
test.c
/tmp/example $ ls prefix_@(foo/baz|bar)/test.c
prefix_bar/test.c
/tmp/example $ ls @(prefix_foo/baz|prefix_bar)/test.c
prefix_bar/test.c
问题:为什么 bash 忽略模式列表的foo/baz
或部分?pattern_foo/baz
作为记录,我在发布这个问题之前环顾四周,最接近我要问的问题是bash extglob:模式列表中模式的顺序是否重要?(它没有回答我的问题)。