sama voda :-)
problem je v te roure. jde o to, ze tou rourou se spusti subshell, cili cely blok while bezi v jinem shellu, tj. je v nem jina promenna "a". Navic v bashi jde hodnoty promennych predavat jen potomkum=subshellum (pomoci export), ne vsak zpet predkum. Takze v tom cyklu while sice ma promenna "a" danou hodnotu, ale po skonceni bloku skonci i shell a promenna zanikne.. proto se to chova, jak se to chova