Pravděpodobně se mu nelíbí mezera za rovnítkem.
Některé další nápady:
-
Ujistěte se, že ke spuštění skriptu skutečně používáte bash a ne sh/dash.
-
Proměnnou můžete explicitně deklarovat jako pole pomocí
declare -a varname
#!/bin/bash
myarray[0]=hello
myarray[1]=world
echo "${myarray[0]}"
echo "${myarray[1]}"
uložte to do helloworld.bash
a chmod +x
soubor.
spustit pomocí./helloword.bash
Zkuste mezeru odstranit:
candidate[1]=0
candidate[2]=0
a tak dále. Sám v této oblasti nejsem odborník, ale myslím si, že bash musí rozpoznat celý výraz přiřazení jako jedno slovo, takže v něm nemůžete mít mezery.