Why to the hell does SVR4 /bin/sh (as seen on Solaris and UnixWare) behave differently in variable assignments if shell redirection is used?! The following program prints "foo", "bar", "baz", "quux" on non-brain dead platforms while on the SVR4 /bin/sh it prints "foo", "bar", "bar", "bar"... foo=foo echo $foo { eval `echo foo=bar`; } echo $foo { eval `echo foo=baz`; } >/dev/null echo $foo { eval `echo foo=quux`; } >/dev/null 2>/dev/null echo $foo