Sponsored Content
Top Forums Shell Programming and Scripting How redirect script output from inside of script? Post 302208982 by ennstate on Wednesday 25th of June 2008 02:11:57 PM
Old 06-25-2008
Using exec & pipe

Hi,
I managed to get that working using exec & pipes.The following is the script which i hope to work for you as well,

Code:
#!/bin/bash
#Objective : To redirect the stdout & stderr to two different files from within the script and without sacrificing the scripts output

mkfifo /tmp/out.pipe /tmp/err.pipe

exec 3>&1 4>&1

tee /tmp/std.out < /tmp/out.pipe >&3 &
pid_out=$!
exec  1>/tmp/out.pipe

tee /tmp/std.err < /tmp/err.pipe >&4 &
pid_err=$!
exec  2>/tmp/err.pipe

log() {
 echo "`date` : $@ "
}

log "Starting the process"
log "Listing directories now..."
ls -l
ls -l Log_to_Stderr
exec 1>&3 3>&- 2>&4 4>&-
wait $pid_out
wait $pid_err
rm /tmp/out.pipe /tmp/err.pipe
log "End of Processing"

Please let us know if you could find a better approach

Thanks
Nagarajan G
This User Gave Thanks to ennstate For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Script that Redirect SSH output via cron

Hi, I have a script that's being called via a crontab which is a wrapper script that creates a log for the script that gets executed. Within the script that gets executed, it also run's subscripts. I've been able to get everything to work .. but the issue is one of the subscript that goes out... (4 Replies)
Discussion started by: primp
4 Replies

2. Shell Programming and Scripting

how to redirect the output of a grep command to a file inside a shell script

hi, i wat to get the output of a grep command in a file. but when i am trying out the same grep command in the unix prompt its working fine.. i am getting the output properly.. but when i am writing the same command inside my shell script , its just creating a new output file with no contents... (11 Replies)
Discussion started by: kripssmart
11 Replies

3. Shell Programming and Scripting

Redirect bg process output to within the script

Hi, I have a process running in the background, which throws up some output to the terminal when I run my script. How can I read this output from my script? Thank you. (5 Replies)
Discussion started by: Theju
5 Replies

4. Programming

Redirect input and output to a shell script?

Dear All: I am trying to do something that (I thought) was relatively straightforward, but my code snippet does not seem to work. Any suggestions? Thank you Sincerely yours Misha Koshelev #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <errno.h> #include... (0 Replies)
Discussion started by: misha680
0 Replies

5. Shell Programming and Scripting

Redirect the output in shell script for tftp

I've been using tftp in one of my file #!/bin/bash filename1="config1h.txt" filename2="config15.txt" hostname="test.com" tftp $hostname <</dev/null get $filename1 get $filename2 quit EOF My output looks like this # ./test3.sh tftp> Received 1262 bytes in 0.0 seconds tftp> Received... (2 Replies)
Discussion started by: LavanyaP
2 Replies

6. Solaris

Script redirect command output failed, why?

Hi, I put a for loop in a script to eject backup tapes from the robot. The command echo' output goes to the log file without problem, but command vmchange's output does not go to the log file although it's working fine. It still displays on the screen. I've tried '2>&1 1>$log', but nothing changed.... (5 Replies)
Discussion started by: aixlover
5 Replies

7. Shell Programming and Scripting

script to mail monitoring output if required or redirect output to log file

Below script perfectly works, giving below mail output. BUT, I want to make the script mail only if there are any D-Defined/T-Transition/B-Broken State WPARs and also to copy the output generated during monitoring to a temporary log file, which gets cleaned up every week. Need suggestions. ... (4 Replies)
Discussion started by: aix_admin_007
4 Replies

8. Programming

How to redirect the output of a shell script to a file?

hi, i have a html form which call a perl program, this perl program calls a shell script. <html> <head> <title>demo</title> </head> <body> <form name="frm1" action="/cgi-bin/perl_script.pl" method="post"> <input type="text" name="fname"> ... (1 Reply)
Discussion started by: Little
1 Replies

9. Shell Programming and Scripting

How to redirect the output of a command inside ftp block?

hi, i am using ftp to get files from remote server. inside the ftp i want to us ls -ltr command and send the output of it to a file. ftp -n remote_server <<_FTP quote USER username quote PASS password prompt noprompt pwd ls -ltr get s1.txt bye _FTP i... (4 Replies)
Discussion started by: Little
4 Replies

10. Shell Programming and Scripting

Redirect script output to a file and mail the output

Hi Guys, I want to redirect the output of 3 scripts to a file and then mail the output of those three scripts. I used below but it is not working: OFILE=/home/home1/report1 echo "report1 details" > $OFILE =/home/home1/1.sh > $OFILE echo... (7 Replies)
Discussion started by: Vivekit82
7 Replies
IO::Pipe(3pm)						 Perl Programmers Reference Guide					     IO::Pipe(3pm)

NAME
IO::Pipe - supply object methods for pipes SYNOPSIS
use IO::Pipe; $pipe = IO::Pipe->new(); if($pid = fork()) { # Parent $pipe->reader(); while(<$pipe>) { ... } } elsif(defined $pid) { # Child $pipe->writer(); print $pipe ... } or $pipe = IO::Pipe->new(); $pipe->reader(qw(ls -l)); while(<$pipe>) { ... } DESCRIPTION
"IO::Pipe" provides an interface to creating pipes between processes. CONSTRUCTOR
new ( [READER, WRITER] ) Creates an "IO::Pipe", which is a reference to a newly created symbol (see the "Symbol" package). "IO::Pipe::new" optionally takes two arguments, which should be objects blessed into "IO::Handle", or a subclass thereof. These two objects will be used for the system call to "pipe". If no arguments are given then method "handles" is called on the new "IO::Pipe" object. These two handles are held in the array part of the GLOB until either "reader" or "writer" is called. METHODS
reader ([ARGS]) The object is re-blessed into a sub-class of "IO::Handle", and becomes a handle at the reading end of the pipe. If "ARGS" are given then "fork" is called and "ARGS" are passed to exec. writer ([ARGS]) The object is re-blessed into a sub-class of "IO::Handle", and becomes a handle at the writing end of the pipe. If "ARGS" are given then "fork" is called and "ARGS" are passed to exec. handles () This method is called during construction by "IO::Pipe::new" on the newly created "IO::Pipe" object. It returns an array of two objects blessed into "IO::Pipe::End", or a subclass thereof. SEE ALSO
IO::Handle AUTHOR
Graham Barr. Currently maintained by the Perl Porters. Please report all bugs to <perlbug@perl.org>. COPYRIGHT
Copyright (c) 1996-8 Graham Barr <gbarr@pobox.com>. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.16.3 2013-03-04 IO::Pipe(3pm)
All times are GMT -4. The time now is 09:36 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy