내 문제를 설명하는 명령(및 해당 출력)의 기록은 다음과 같습니다.
/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: 패턴 목록의 패턴 순서가 중요합니까?(내 질문에 대답하지 않습니다).