Probabilmente non gradisce lo spazio dopo il segno uguale.
Alcune altre idee:
-
Assicurati di utilizzare effettivamente bash per eseguire il tuo script e non sh/dash.
-
Puoi dichiarare esplicitamente una variabile come un array usando
declare -a varname
#!/bin/bash
myarray[0]=hello
myarray[1]=world
echo "${myarray[0]}"
echo "${myarray[1]}"
salvalo in helloworld.bash
e chmod +x
il file.
eseguire using./helloword.bash
Prova a rimuovere lo spazio:
candidate[1]=0
candidate[2]=0
e così via. Non sono un esperto in quest'area, ma penso che bash debba riconoscere l'intera espressione di assegnazione come una sola parola, quindi non puoi inserire spazi.