Respuestas:
En bash, en este orden:
GLOBIGNORE=.
shopt -u dotglob
Cuando GLOBIGNORE está configurado,. y ... se ignoran automáticamente, por lo que no necesita configurarlos en GLOBIGNORE, pero si no tiene nada más que ignorar, no tendrá nada en qué configurarlo.
Cada vez que configura GLOBIGNORE en un valor no nulo, bash activa la opción dotglob
, por lo que deberá desactivarla después; de lo contrario, bash se expandirá *
para incluir archivos que comiencen con un punto.
.
y ..
pero no foo/.
y foo/..
. Es posible que desee utilizar GLOBIGNORE=.:*/.:*/..
para que esto funcione con los nombres de ruta también.
En un sistema desconocido donde tengo muy poco tiempo para verificar la configuración en uso (como GLOBIGNORE), uso el siguiente patrón infalible:
command .??*
.
e ..
independientemente del entorno..a
dotglob
activado, por lo que la configuraciónGLOBIGNORE
suena perfecta.