Secondo la pagina del manuale di 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.
Comunque in pratica ...
$ bash --noprofile --norc
bash-4.2$ touch .bar
bash-4.2$ echo .*
. .. .bar
bash-4.2$ GLOBIGNORE=.
bash-4.2$ echo .*
.bar
Perché viene ..rimosso dall'elenco delle corrispondenze? Per quanto ne so, il modello
.NON corrisponde .., vero?
GLOBIGNOREignora.e..in modelli senza barra e GLOBIGNORE filtra i percorsi dei file non i nomi dei file.GLOBIGNORE=.; echo .*non includerà.né.., maGLOBIGNORE=.; echo ./.*(oecho /bin/.*) lo farà! Per ignorare.e..da tutti i globs, sembra che tu abbia bisognoshopt -s extglobeGLOBIGNORE='?(*/)@(.|..)'.