> > The confusing part to me is why >[2] or >[3] or >[4]
> > (and so on) captures the stdout of the @{} block.
> >
>
>
> it doesn't: look closely at your commands.
>
> term% @{rfork e; echo hi} >[2]/env/hi; echo test; cat /env/hi
> hi
> test
>
> the echo hi is going to standard output, which is not captured.
> the >[2]/env/hi is creating an empty env variable in the parent shell scope
> (name space).
> echo test goes to standard output, and cat /env/hi prints the empty env
> variable on standard output.
But then why:
term% @{rfork e; echo hi} >/env/hi; echo test; cat /env/hi
test
Where is the 'echo hi' going?
-sl