Sólo witting un script de shell simple y poco confundido:Bash para el lazo con los comodines y los archivos ocultos
Aquí está mi guión:
% for f in $FILES; do echo "Processing $f file.."; done
el comando:
ls -la | grep bash
produce:
% ls -a | grep bash
.bash_from_cshrc
.bash_history
.bash_profile
.bashrc
Cuando
FILES=".bash*"
obtengo los mismos resultados (formato diferente) que ls -a. Sin embargo, cuando
FILES="*bash*"
puedo obtener este resultado:
Processing *bash* file..
Ésta no es la salida esperada y no lo que yo esperaba. ¿No se me permite tener un comodín al comienzo del nombre del archivo? Es el . al principio del nombre de archivo "especial" de alguna manera?
Configuración
FILES="bash*"
tampoco funciona.
Como se ha dicho núms a continuación, es probable que desee utilizar un indicador bash para modificar el comportamiento. (shopt -s dotglob) –