Sto tentando di dichiarare una matrice in bash, ma quando viene eseguito il codice dice che non riesce a trovare la matrice. Ho provato a scrivere la dichiarazione dell'array in molti modi diversi, ma sembra non importa quanto cerco di dichiararlo e non riesco a farlo funzionare. Originariamente ho provato a dichiarare come tale:Array in Bash non trovato
candidate[1]= 0
candidate[2]= 0
candidate[3]= 0
I messaggi di errore restituiti sono:
votecalculation.sh: 13: candidate[1]=: not found
votecalculation.sh: 14: candidate[2]=: not found
votecalculation.sh: 15: candidate[3]=: not found
Dopo questo ho cercato un'altra soluzione che ho trovato on-line:
ARRAY=('can1' 'can2' 'can3')
Quando ciò viene utilizzato restituisce questo errore:
votecalculation.sh: 12: Syntax error: "(" unexpected
Sono nuovo di Bash e sto diventando molto confuso sugli array. C'è un modo specifico per dichiarare un array o sto semplicemente sbagliando?
Ok, quindi alla fine ho capito il problema. Anche se la testa del file era #!/Bin/bash, il nome del file terminava con .sh. Dopo aver cambiato l'estensione del file in .bash ed eseguito usando "bash votecalculations.bash" nel terminale funziona. Grazie ancora a tutti per il vostro aiuto! – Waffle
FYI l'estensione del file non ha importanza ... puoi lasciarla come '.sh' o addirittura non avere alcuna estensione di file, a patto che tu la usi con bash. –