View Single Post
Old 03-01-2004, 06:12 AM   #1 (permalink)
Silvy
paranoid
 
Silvy's Avatar
 
Location: The Netherlands
Shell Script redirection tip

Hi,

Note: this tip is about redirecting output to a file and the screen at the same time. The original 'hack' has been replaced by a much better solution. See the second post!

I'm leaving my 'hack' as an odd example of the many ways problems can be solved.


I justed wanted to share this neat 'hack' I figured out:

To redirect output to a file, but still see it on screen at the same time, use this construct:

Code:
#!/bin/bash
OUPUTFILE=~/output.txt
some_long_command >$OUTPUTFILE &
tail -f $OUTPUTFILE
The idea being:
You want to see the output of a command, but you also want to keep it as reference.

The code below would do this as well, but if the 'command' took a long time you'd be staring at an empty line during execution.
Code:
# this works but is not usable for commands
# that have a long execution time.
command > output_file
cat output_file
I run Gentoo Linux, and emerge's take a relatively long time, so I want to see the output to wether all is well. But in the future I might also want to read back the output to see what warnings etc it might have given.

I'm planning on writing a mother-script around 'emerge' that appears the same as the regular 'emerge' (with it's screen output), but also keeps rotating logs of the results. This construction lets me do that.

NOTES:
- I couldn't find an "output splitter" that redirects output to two places (ie screen and file) or that would've been better.
- Over slow network connections Tail seriously lags behind the actual running of the script, and is very 'jumpy' in its output.
- The above code is not executable, as I'm not presenting a specific situation in it. Simple examples could be easily made however.
- I hope this tip helps someone and/or interests them in scripting for themselves!
__________________
"Do not kill. Do not rape. Do not steal. These are principles which every man of every faith can embrace. "
- Murphy MacManus (Boondock Saints)

Last edited by Silvy; 03-05-2004 at 01:54 AM..
Silvy is offline  
 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73