Why dup()?

Clark Wang dearvoid at gmail.com
Fri Oct 13 19:10:28 AEDT 2017


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'?


More information about the openssh-unix-dev mailing list