Das Problem ist nicht Ihre printf
Anweisung, sondern Ihre Zuweisung beim Lesen. Sie mischen die Syntax des Anfügens an das Array mit der Zuweisung des Werts eines Elements . Um an ein Array anzuhängen, müssen Sie a+=("$line")
stattdessen verwenden. Wenn Sie die Syntax ohne Klammern verwenden möchten, müssen Sie beispielsweise den Index des Elements angeben, das Sie ändern möchten a[5]="$line"
.
Weitere Beispiele für Arrays finden Sie zum Beispiel in diesem Stackovewflow-Dokumentationslink (siehe Abschnitt "Array-Änderung") .
Beachten Sie auch, dass Ihr Skript die Zeilen nicht in umgekehrter Reihenfolge druckt. Dazu müssen Sie den for
Zyklus umkehren, um vom Ende des Arrays bis zum Anfang zu iterieren.