Tengo dos servidores Linux (Debian). Estoy creando un script de shell.
En el primero creo una matriz así:
#!/bin/bash
target_array=(
"/home/user/direct/filename -p123 -r"
)
Eso funciona bien Pero cuando ejecuto esto en el otro servidor me sale:
Syntax error: "(" unexpected
Por lo que puedo decir, ambos servidores son iguales. ¿Alguien puede arrojar algo de luz sobre por qué esto no funciona?
Si lo escribo en la terminal directamente, ¿está bien?
Parece que cuando lo ejecuto como
sh scriptname.sh
Me sale el error, pero si lo ejecuto como
./scriptname.sh
Parece estar bien. ¿Cual es la diferencia?
sh
no bash
lo está y lo está ejecutando como sh scriptname.sh
está mal
cat -v <script>
ver si hay char espurias.