Re: Need blocking /dev/null

Doug McNaught
2001-11-01T00:11:54Z

Riley Williams <rhw@MemAlpha.cx> writes:

> Are you sure?
>
> > find / -name "wanted-but-lost-download" | eat
>
> Doesn't work - you're piping the stdin there, not stderr as per my
> example above. AFAIK, there's no way to pipe stderr without also piping
> stdout, hence this sort of solution just doesn't work.

The Bourne shell is more perverse than you realize:

$ exec 3>&1; find / -name "wanted-but-lost-download" 2>&1 1>&3 3>&- | eat

[stolen from "Csh Programming Considered Harmful" by Tom Christiansen]

Horrible, but does work. ;)

> > zerofill | head -c 1440k > /tmp/floppy.img
>
> How does zerofill know when to stop writing zeros out?

Easy, it gets EPIPE on the write (or gets killed by SIGPIPE if it's
stupid).

> > ssh foo@bar | block
>
> Which of my examples is this an equivalent to? I don't recognise it.

None; he's referring to the /dev/block example that started the
thread.

I'm still happy to keep /dev/null and /dev/zero. ;)

-Doug
--
Let us cross over the river, and rest under the shade of the trees.
--T. J. Jackson, 1863