Ist es möglich, Array-Elemente zu caten, die als Eingabe übergebene Textdateien sind? Ich habe so etwas:
array=("$@")
cat array[3]
Dabei setze ich zunächst alle meine Argumente (einige .txt-Dateien) in ein Array, um sie später zu verarbeiten, und möchte dann beispielsweise den Hauptteil der dritten Datei ausdrucken (ich weiß, dass ich problemlos verwenden könnte cat $3
).
Antwort1
Die Syntax für den Zugriff auf ein bestimmtes Element eines Arrays lautet
${var[index]}
wobei es index
sich um einen Ausdruck handelt, dessen Auswertung eine Ganzzahl zwischen null und der Länge des Arrays minus 1 ergibt (die Array-Indizes in bash
sind nullbasiert).
Um $3
aus Ihrem Array zu erhalten, verwenden Sie ${array[2]}
, dh
cat <"${array[2]}"
Siehe auch
Sie würden array[3]
in einer Aufgabe verwenden:
array[3]=something
Dadurch wird die Zeichenfolge something
dem vierten Element im Array zugewiesen.
Ebenfalls im Zusammenhang mit der Tatsache, dass bash
Arrays bei Null beginnen: