Risposte:
In bash, in questo ordine:
GLOBIGNORE=.
shopt -u dotglob
Quando è impostato GLOBIGNORE,. e .. vengono automaticamente ignorati, quindi in realtà non è necessario impostarli in GLOBIGNORE, ma se non si ha nient'altro da ignorare non si avrà nulla su cui impostarlo.
Ogni volta che imposti GLOBIGNORE su un valore non nullo, bash attiva l'opzione dotglob
, quindi dovrai disattivarla in seguito; altrimenti bash si espanderà *
per includere i file che iniziano con un punto.
.
e ..
ma non foo/.
e foo/..
. Potresti voler usare GLOBIGNORE=.:*/.:*/..
per far funzionare anche questo con i nomi dei percorsi.
Su un sistema sconosciuto in cui ho troppo poco tempo per controllare le impostazioni in uso (come GLOBIGNORE) uso il seguente schema infallibile:
command .??*
.
e ..
indipendentemente dall'ambiente..a
dotglob
accenderlo, quindi l'impostazioneGLOBIGNORE
sembra perfetta.