function HelloWorld() { var1=$1 echo ${var1[@]} echo $1 echo ${1[@]} } HelloWorld “Hello World” El comando echo ${var1[@]} se ejecutará sin problemas, pero echo ${1[@]} me da “bad substitution”. ¿No entiendo la diferencia entre estos dos comandos si var1 es lo mismo que $1?
He intentado esto: $ls casts.c endian.c ptr.c signed-unsigned-representations.c signed-unsigned.c test-hard-link.c $for i in *.c;do mv “$i” “$i”__swa.c; done $ls casts.c<strong>swa.c endian.c</strong>swa.c ptr.c<strong>swa.c signed-unsigned-representations.c</strong>swa.c signed-unsigned.c<strong>swa.c test-hard-link.c</strong>swa.c y sé que esto sucede porque mi variable i es *.c, por lo que cuando intento renombrar y agregar la parte (__swa.c), simplemente se agrega . . . Read more