From owner-freebsd-bugs@FreeBSD.ORG Thu Jun 29 12:40:30 2006 Return-Path: X-Original-To: freebsd-bugs@hub.freebsd.org Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B612816A403 for ; Thu, 29 Jun 2006 12:40:30 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3E1AB43D7E for ; Thu, 29 Jun 2006 12:40:25 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id k5TCePPc067057 for ; Thu, 29 Jun 2006 12:40:25 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k5TCeP5U067056; Thu, 29 Jun 2006 12:40:25 GMT (envelope-from gnats) Date: Thu, 29 Jun 2006 12:40:25 GMT Message-Id: <200606291240.k5TCeP5U067056@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: Bruce Evans Cc: Subject: Re: bin/99585: [PATCH] Add option to tee(1) to also copy to standard error X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Bruce Evans List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jun 2006 12:40:30 -0000 The following reply was made to PR bin/99585; it has been noted by GNATS. From: Bruce Evans To: Dan Ponte Cc: FreeBSD-gnats-submit@freebsd.org, dan@theamigan.net, freebsd-bugs@freebsd.org Subject: Re: bin/99585: [PATCH] Add option to tee(1) to also copy to standard error 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. Bruce