Julien Vehent on 31 Aug 2011 11:13:10 -0700

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] Bash I/O redirection

On Wed, 31 Aug 2011 13:56:45 -0400, JP Vossen wrote:
Date: Wed, 31 Aug 2011 11:33:31 -0400
From: Julien Vehent<julien@linuxwall.info>

I have this bash script that does an oracle backup (launched via
crontab), and I'd like to redirect the output of the script to a file.
The classic ways to do it would be:
     * use a wrapper script (that requires an additional script...)
* call the script with '>' in the cron line (make my cron line ugly)
     * inside the script, put a ">>" after each command (berk !)

My question is: would there be a way to put a global redirection at the
beginning of the script ?

Yes.  You want:

_bash Cookbook_ Recipe 15.12 Redirecting Output for the Life of a Script


Short version (changed from the book's STDERR to STDOUT):

# Optional, save the "old" STDOUT
exec 3>&1

# Redirect STDOUT to file
exec 1 > /path/to/file

# script goes here

# Optional, revert change & close FH3
exec 1>&3-

That's the syntax I was looking for. Thanks JP and Alan.

Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug