bash 매뉴얼 페이지에 따르면 :
GLOBIGNORE
A colon-separated list of patterns defining the set of filenames
to be ignored by pathname expansion. If a filename matched by a
pathname expansion pattern also matches one of the patterns in
GLOBIGNORE, it is removed from the list of matches.
그러나 실제로는 ...
$ bash --noprofile --norc
bash-4.2$ touch .bar
bash-4.2$ echo .*
. .. .bar
bash-4.2$ GLOBIGNORE=.
bash-4.2$ echo .*
.bar
왜 ..일치 목록에서 제거됩니까? 내가 아는 한 패턴
.이 일치 ..하지 않습니까?
GLOBIGNORE무시.하고..슬래시가없는 패턴으로 설정 하는 것을 깨달았고 GLOBIGNORE는 파일 이름이 아닌 파일 경로를 필터링합니다. nor를GLOBIGNORE=.; echo .*포함.하지는..않지만GLOBIGNORE=.; echo ./.*(또는echo /bin/.*) will! 무시.하고..당신이 필요로하는 것처럼 모든 globs의에서, 그것은 외모shopt -s extglob와GLOBIGNORE='?(*/)@(.|..)'.