Why dup()?

Clark Wang
2017-10-13T08:10:28Z

On Fri, Oct 13, 2017 at 3:24 PM, David Newall <openssh at davidnewall.com>
wrote:

> On 12/10/17 12:54, Clark Wang wrote:
>
>> How did you hit the problem? "ssh host echo hello | cat"
works fine for
>> me.
>>
>
> That's because ssh exited, not because of EOF.
>
> Consider the following:
>
>    ssh localhost 'exec cat > /dev/null' | { read l; echo
${l:-EOF}; }
>
> One should see "EOF" immediately (for values of immediate that
include
> startup latency), but that's not what happens.
>

The ssh is still alive since the remote cat is waiting for input so the
read would not see EOF. Did you actually mean 'exec cat < /dev/null'?