This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Re: One dumb question
- To: "\"\"David A. Cobb\"\"" <superbiskit at home dot com>
- Subject: Re: One dumb question
- From: "Ehud Karni" <ehud at unix dot simonwiesel dot co dot il>
- Date: Tue, 19 Jun 2001 18:58:55 +0300
- CC: cygwin at cygwin dot com
- Organization: Simon & Wiesel Insurance agency
- References: <5.1.0.14.0.20010618114229.03d27610@mail>
- Reply-to: ehud at unix dot simonwiesel dot co dot il
On Mon, 18 Jun 2001 11:46:39 -0400, David A. Cobb <superbiskit@home.com> wrote:
> Is there a way to get the "current" bash shell to tee its output to a
> logfile? I remember doing something like this once upon a time but I don't
> recall what I did and I was using a different shell (ksh on an HP/UX).
You can achieve it by the following 3/4 commands:
exec 3>&1 # create pipe (copy of stdout)
exec 1>bash.dbg # direct stdout to file
## exec 2>&1 # uncomment if you want stderr too
tail -f bash.dbg >&3 & # run tail in bg
If you don't redirect stderr, the order of stdout and stderr messages
may be out of original order.
Here is a sample script that tested this on both Linux and Cygwin.
#! /bin/sh -ex
exec 3>&1
exec 1>bash.dbg
exec 2>&1
tail -f bash.dbg >&3 &
: rest of script
echo "aaa bbb ccc"
: "stderr only"
sleep 5
echo "ddd eee fff"
########### end of test ###########
Ehud.
--
Ehud Karni Mivtach - Simon Insurance /"\
Tel: +972-3-6212-757 Fax: +972-3-6292-544 \ / ASCII Ribbon Campaign
(USA) Fax and voice mail: 1-815-5509341 X Against HTML Mail
Better Safe Than Sorry / \
mailto:ehud@unix.simonwiesel.co.il http://www.simonwiesel.co.il
--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple