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

Bruce Evans bde at
Thu Jun 29 12:40:30 UTC 2006

The following reply was made to PR bin/99585; it has been noted by GNATS.

From: Bruce Evans <bde at>
To: Dan Ponte <dcp1990 at>
Cc: FreeBSD-gnats-submit at, dan at,
        freebsd-bugs at
Subject: Re: bin/99585: [PATCH] Add option to tee(1) to also copy to standard
Date: Thu, 29 Jun 2006 22:35:57 +1000 (EST)

 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.

More information about the freebsd-bugs mailing list