Zrovna ten příklad na zpracování více souborů je velmi špatně (typická začátečnická chyba, taky jsem ji prvních 10 let dělal). Je vidět, že ho nikdo nezkusil doopravdy použít. Jednoduše si stačí zapamatovat, že od doby, kdy Microshit popularizuje mezery ve jménech souborů nelze "for i in *" používat.
On se ale nejdříve dělá field splitting (podle IFS), a až pak pathname expansion. Kdyby se to dělalo opačně, tak by nefungovalo např. ani rm -rf *, apod.
/to je samozrejme nesmysl. uvozovky ti v nicem nepomohou, protoze IFS ovlivnuje chovani foru, ne obsah iteratoru./
Potud teorie (navíc špatný). V praxi je for i in * zcela korektní a použitelný zápis, velmi vhodný obzvlášť pro soubory s mezerami v názvu. Narazíte až u \n... :)