Quando você usa ./scriptname.sh
, ele executa com /bin/bash
, como na primeira linha com #!
. Mas quando você usa sh scriptname.sh
, ele executa sh
, não bash
.
O shell sh
não tem sintaxe para criar matrizes, mas o Bash tem a sintaxe usada.