bin/99585: [PATCH] Add option to tee(1) to also copy to standard error

Bruce Evans bde at zeta.org.au
Thu Jun 29 12:36:04 UTC 2006


On Wed, 28 Jun 2006, Dan Ponte wrote:

>> Description:
> 	I recently found myself in a situation where having tee(1) copy to standard error and standard output at the same time would be useful, so I implemented it.
>> How-To-Repeat:
> 	Find yourself in said situation.
>> Fix:
> 	Diff below.

Why not use a standard utility (tee itself in this case)?

   genoutput | tee /dev/stderr | tee foo

copies the stdout of `genoutput' to stderr and to file foo.  This can be
generalized to any number of copies on any numbers of file descriptors
or files.

The main problem with the utility method is is that the plumbing is
very confusing even for only one extra pipeline stage.  /dev/stderr
in the above refers to the initial stderr so it isn't affected by
redirection unless the pipeline stages are run in subshells.  Running
some of the stages in subshells makes the plumbing even more confusing.

Bruce


More information about the freebsd-bugs mailing list