divne chovani while v ksh a bash na linuxu

Leos Bitto bitto na atrey.karlin.mff.cuni.cz
Pondělí Říjen 4 14:39:25 CEST 1999


Alexandr Malusek (malusek na hroch.ujf.cas.cz) wrote:
:
: BTW, THE MOST FREQUENTLY REPORTED BUG IS
:         echo hi | read a; echo $a       # Does not print hi
: I'm aware of this and there is no need to report it.
: 
: Specifikaci bashe jsem nestudoval, takze nevim, je-li toto chovani v
: bashi bug nebo feature.

Tohle je naprosto klasicky problem. At uz je spravne to nebo to,
situace je takova ze pulka bourne-shell-like shellu to hi vypise
a pulka ne. Napriklad bash ho nevypise, ale o to ted vubec nejde. 
Ponauceni je naprosto jasne: pokud chcete psat scripty, ktere
maji byt prenositelne, nespolehejte ani na to ani na to a napiste
to jinak. Jde to, i ve shellu plati TMTOWTDI (i kdyz ne tak zvracene
moc jako v Perlu :-) ). Tady napriklad:

echo hi | (read a; echo $a)

Temi zavorkami si vynutite spusteni subshellu - viz man.



Leos Bitto


Další informace o konferenci Linux