等号の後のスペースが気に入らないのでしょう。
その他のアイデア:
-
sh/dash ではなく、実際に bash を使用してスクリプトを実行していることを確認してください。
-
declare -a varname
を使用して、変数を配列として明示的に宣言できます。
#!/bin/bash
myarray[0]=hello
myarray[1]=world
echo "${myarray[0]}"
echo "${myarray[1]}"
それを helloworld.bash
に保存します そして chmod +x
./helloword.bash を使用して実行
スペースを削除してみてください:
candidate[1]=0
candidate[2]=0
等々。私はこの分野の専門家ではありませんが、bash は割り当て式全体を 1 つの単語として認識する必要があるため、スペースを含めることはできません。