O problema não é sua declaração printf
, mas sua tarefa durante a leitura - você está misturando a sintaxe de anexando a matriz com atribuindo o valor de um elemento . Para acrescentar ao array, você precisa usar a+=("$line")
. Se você quiser usar a sintaxe sem parênteses, precisará especificar o índice do elemento que deseja alterar, por exemplo a[5]="$line"
.
Você pode encontrar mais exemplos sobre matrizes, por exemplo, em este link da documentação do Stackovewflow (marque a seção "Modificação de matriz" ") .
Observe também que o seu script não está imprimindo as linhas na ordem inversa. Para fazer isso, você precisa inverter o ciclo for
para iterar do final da matriz até o começo.