Szerintem erre: a=alma; echo korte | read a; echo "$a" alma Ugye azért, mert a pipe miatt önálló shellben az az 'a' változó egészen más memóriaterületen lett allokálva.