Проблема не в вашем printf
утверждении, а в вашем назначении при чтении - вы смешиваете синтаксис добавления к массиву с назначением значения элемента . Чтобы добавить в массив, вам нужно использовать a+=("$line")
вместо этого. Если вы хотите использовать синтаксис без скобок, вам необходимо указать, например, индекс элемента, который вы хотите изменить a[5]="$line"
.
Вы можете найти больше примеров о массивах, например, в этой ссылке на документацию Stackovewflow (см. Раздел «Модификация массива») .
Также обратите внимание, что ваш скрипт не печатает строки в обратном порядке. Для этого вам нужно повернуть for
цикл вспять, чтобы выполнить итерацию от конца массива к началу.