Soy bastante nuevo en las secuencias de comandos Bash. Tengo un "script de prueba", que utilicé como base para un script más avanzado / útil:
#!/bin/bash
files=$1
for a in $files
do
echo "$a"
done
Cuando llamo a esto sin comillas, solo recoge un archivo en un directorio:
testscript *.txt
Pero cuando lo llamo con comillas, funciona correctamente y selecciona todos los archivos de texto:
testscript '*.txt'
¿Que esta pasando aqui?
for a in "$@"; do
(ofor a; do
) en su secuencia de comandos, dejando de este modo la capa exterior, no dejar de lado las comillas.