Piszę ten prosty skrypt bash w następujący sposób.Bash array: Nieoczekiwany błąd składniowy
#!/bin/bash
array=(/home/abc/Downloads/something.bat /home/abc/Downloads/smb.conf)
echo ${array[@]}
Oczekiwalem, że wydrukuje wszystkie nazwy plików w tablicy. Ale pojawia się ten błąd zamiast:
test.sh: 3: Syntax error: "(" unexpected
Jeśli zmienię deklarację tablicy do
array = {/home/abc/Downloads/something.bat /home/abc/Downloads/smb.conf}
ten błąd nie zniknie, ale ciągle mam nowe błędy
test.sh: 3: array: not found
test.sh: 4: Bad substitution
Jak mogę rozwiązać ten przypadek? To jest mój pierwszy raz w programowaniu powłoki, więc nie jestem w stanie samodzielnie rozwiązać problemów.
ZDECYDOWANE:
byłem wykonywanie go jako sh test.sh ale zapomniałem musiałem wykonać go jako bash test.sh
To nie jest tablica asocjacyjna. Jest to normalna, numerycznie indeksowana tablica. –
@DennisWilliamson Oh Ok. Będę go edytować – user1357576
@ user1357576: Opublikuj rozwiązanie jako odpowiedź i zaznacz je jako zaakceptowane, nie edytuj go na pytanie. Ponadto nie edytuj tytułu, aby go rozwiązać, witryna oznaczy pytanie jako rozwiązane po zaakceptowaniu odpowiedzi. – Daenyth