Estoy escribiendo este script simple bash de la siguiente manera.Bash array: Inesperado Error de sintaxis
#!/bin/bash
array=(/home/abc/Downloads/something.bat /home/abc/Downloads/smb.conf)
echo ${array[@]}
Esperaba que imprimiera todos los nombres de los archivos en la matriz. Pero me sale este error en su lugar:
test.sh: 3: Syntax error: "(" unexpected
Si cambio de la declaración de matriz para
array = {/home/abc/Downloads/something.bat /home/abc/Downloads/smb.conf}
este error desaparece pero todavía tengo nuevos errores
test.sh: 3: array: not found
test.sh: 4: Bad substitution
¿Cómo puedo resolver ¿este problema? Esta es mi primera vez en la programación de shell, así que no puedo solucionar los problemas yo mismo.
RESUELVE:
que estaba ejecutando como test.sh sh, pero se me olvidó que tenía que ejecutar como test.sh fiesta
Eso no es una matriz asociativa. Es una matriz normal indexada numéricamente. –
@DennisWilliamson Oh Ok. Lo editaré – user1357576
@ user1357576: publique la solución como una respuesta y márquela como aceptada, no la edite en la pregunta. Además, no edite el título para resolverlo, el sitio web marcará la pregunta como resuelta cuando acepte una respuesta. – Daenyth