ich die Dateien des aktuellen Verzeichnisses in einem Array setzen will und Echo jede Datei mit diesem Skript:Bash for-Schleife über Array mit Dateien aus (*) zeigt nur die erste Element
#!/bin/bash
files=(*)
for file in $files
do
echo $file
done
# This demonstrates that the array in fact has the values from (*)
echo ${files[0]} ${files[1]}
echo done
Der Ausgang:
Weiß jemand, warum nur das erste Element in der for-Schleife gedruckt wird?
Beachten Sie, dass die doppelten Anführungszeichen sollte auch ein notwendiger Bestandteil dieses Idiom betrachtet werden; Ohne sie können Sie seltsame Effekte von einigen Zeichen in den Array-Elementen (Leerzeichen, Platzhalter usw.) erhalten. –