Ich habe diesen .ksh-Skriptausschnitt:
for type in *
do
cd ${DATA_HOME}/$type
for mid in *
do
#doing something here
done
done
Meine Frage: Was also bedeutet das Sternchen *
im Einzelnen, wenn es in einer For-Schleife wie oben verwendet wird?
Antwort1
"*" bedeutet alle Dateien im aktuellen Verzeichnis. Es entspricht (zumindest in Bash – ich vermute, Ksh ist ähnlich) einer durch Leerzeichen getrennten Liste von Datei-/Verzeichnisnamen in Anführungszeichen.
Sie können derartige Dinge jederzeit selbst überprüfen, indem Sie Folgendes eingeben:
echo *
Das obige Skript hatte wahrscheinlich Probleme mit der Verarbeitung von Dateien/Verzeichnissen, die Leerzeichen enthielten.