[CLUE-Tech] shell scripting - reassigning stdout/stderr
marcus hall
marcus at tuells.org
Mon Jun 21 15:50:24 MDT 2004
On Mon, Jun 21, 2004 at 04:32:41PM -0400, Angelo Bertolli wrote:
> Using the standard bourn shell script (/bin/sh), is there a way to make
> all output by default direct to another fd besides stdout/stderr?
>
> What I mean is there any way to have the entire script redirect output
> to the same place without having to tack &> onto the end of everything?
Sure!
Try:
exec >file
You can also re-direct stderr with:
exec 2>err_file
That is, the following script will write output to a log file in /tmp:
#!/bin/bash
exec >/tmp/logoutput 2>&1
echo Command executed on $(date)
ls -l / | grep fred
ps -fae >/tmp/ps_output
The output (and stderr) are directed to /tmp/logoutput. The echo and
grep both get their output directed automatically. The ps command
overrides this, and gets re-directed to a different file.
--
Marcus Hall
marcus at tuells.org
More information about the clue-tech
mailing list