Ho due server (Debian) Linux. Sto creando uno script di shell.
Sul primo creo un array così:
#!/bin/bash
target_array=(
"/home/user/direct/filename -p123 -r"
)
Funziona benissimo. Ma quando eseguo questo sull'altro server ottengo:
Syntax error: "(" unexpected
Per quanto ne so, entrambi i server sono uguali. Qualcuno può fare luce sul perché questo non funziona?
Se lo scrivo direttamente nel terminale, va bene ??
Sembrerebbe che quando lo eseguo come
sh scriptname.sh
Ottengo l'errore, ma se lo eseguo come
./scriptname.sh
sembra essere ok. Qual è la differenza?
sh
non è bash
e quindi eseguirlo come sh scriptname.sh
è sbagliato
cat -v <script>
a vedere se ci sono caratteri falsi.