( zeller | 2012. 07. 05., cs – 23:16 )

A * kibontásával szokott galiba adódni, ha túl sok (hosszú a parancssor), no meg a szóközt tartalmazó fájlnevek feldolgozásával, hiszen a "lista" az jelen esetben egy vagy több whitespace-szel elválasztott karaktersorozatok sorozata, azaz például a


echo $( for i in * ; do echo $i ; done) | while read a; do ls -l $a; done

prímán mutatja, hogy a "for i in *..." a szóközt/whitespace-t tartalmazó fájlnevek esetén nem azt adja vissza, amit te szeretnél.
Ha már GNUism, akkor esetleg a find -print0 kapcsolója jöhet számításba.