08-16-2007
Tmtowtdi
Just loop through the filehandles you want to print to.
$file='/tmp/logfile';
open LOGFILE ,">>$file" or die "can't open $file: $!";
@t=qw/STDOUT LOGFILE/;
for (@t){
print $_ `echo $$`;
}
You can do this in a oneliner aswell, but this should be easier to understand.
I'm sure there is simpler ways and maybe even some module that has the equivalent functionality tee.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I did a search for this topic but I couldn't find it and I was sure I have seen something similar before (hard because I am not sure of the criteria for the keywords)
What I was looking for was to be able to echo a message to the screen from a bash.sh script at the same time logging it to a... (2 Replies)
Discussion started by: Shakey21
2 Replies
2. Shell Programming and Scripting
Hello all!..
does anyone know the syntax to print to the screen and to a file?
Im using something like
AWK ....
print header |tee -a invalid_csv_file ;
END {..}
' invalid_csv_file="$invalid_csv_dir_file"
but no joy?
I get sh:... (2 Replies)
Discussion started by: satnamx
2 Replies
3. Shell Programming and Scripting
I want to output screen messages to a logfile when executing an automated script. I have tried the script and command to do this but with no luck.
Thanks,
Nicole (5 Replies)
Discussion started by: nsutti
5 Replies
4. Shell Programming and Scripting
Hello,
I need to print messages both to screen and to file handle in perl , like tee does in unix .
Any suggestions ?
Thanks (2 Replies)
Discussion started by: Alalush
2 Replies
5. UNIX Desktop Questions & Answers
I would like to use a terminal session to ssh to switches and routers. I need to capture data while logged into switches to a file I can email for troubleshooting.
I use termial to log into Cisco switch, run the sh tech command, and then sent the output to cisco. Is there a way to run a... (4 Replies)
Discussion started by: tdelliott
4 Replies
6. UNIX for Dummies Questions & Answers
Hi all,
I have a script that bulk loads thousands of lines of data. I need to log the output during the execution of the script.
I know I can redirect (">") the output to a file; however, I want the output going to both the screen and the log file.
I thought I could use pipe to pipe the... (10 Replies)
Discussion started by: orahi001
10 Replies
7. Shell Programming and Scripting
Is it possible to store all standard-out of a bash script and the binaries it calls in a log file AND still display the stdout on screen?
I know this is possible to store ALL stdout/stderr of a script to a single log file like:
exec 1>&${logFile}
exec 2>&1
But running a script with the... (3 Replies)
Discussion started by: ckmehta
3 Replies
8. Shell Programming and Scripting
Hi,
I would need to log the whole screen ouput to a log file.
All Inputs from the Agent, all echo´s and DBMS Outputs from the PL/SQL.
Basicly everything what I can see during the run on the screen.
I tried it already with
#exec 2>$BASELOG/RUN.log
#exec 1>$BASELOG/RUN.log
#exec >... (1 Reply)
Discussion started by: enjoy
1 Replies
9. Shell Programming and Scripting
How can i print the output of a perl script on a unix console and redirect the same in a log file under same directory simultaneously ?
Like in Shell script, we use tee, is there anything in Perl or any other option ? (2 Replies)
Discussion started by: butterfly20
2 Replies
10. Shell Programming and Scripting
c()
{
if something failed;then
echo "failed"
exit 1
fi
}
f()
{
functinona #if something failed call "c"
functionb #if something failed call "c"
}
f > log 2>&1 #put the log to file not print on the screen
I want all the stdout/stdrr to the log file... (3 Replies)
Discussion started by: yanglei_fage
3 Replies
LEARN ABOUT REDHAT
io::file
IO::File(3pm) Perl Programmers Reference Guide IO::File(3pm)
NAME
IO::File - supply object methods for filehandles
SYNOPSIS
use IO::File;
$fh = new IO::File;
if ($fh->open("< file")) {
print <$fh>;
$fh->close;
}
$fh = new IO::File "> file";
if (defined $fh) {
print $fh "bar
";
$fh->close;
}
$fh = new IO::File "file", "r";
if (defined $fh) {
print <$fh>;
undef $fh; # automatically closes the file
}
$fh = new IO::File "file", O_WRONLY|O_APPEND;
if (defined $fh) {
print $fh "corge
";
$pos = $fh->getpos;
$fh->setpos($pos);
undef $fh; # automatically closes the file
}
autoflush STDOUT 1;
DESCRIPTION
"IO::File" inherits from "IO::Handle" and "IO::Seekable". It extends these classes with methods that are specific to file handles.
CONSTRUCTOR
new ( FILENAME [,MODE [,PERMS]] )
Creates an "IO::File". If it receives any parameters, they are passed to the method "open"; if the open fails, the object is
destroyed. Otherwise, it is returned to the caller.
new_tmpfile
Creates an "IO::File" opened for read/write on a newly created temporary file. On systems where this is possible, the temporary file
is anonymous (i.e. it is unlinked after creation, but held open). If the temporary file cannot be created or opened, the "IO::File"
object is destroyed. Otherwise, it is returned to the caller.
METHODS
open( FILENAME [,MODE [,PERMS]] )
"open" accepts one, two or three parameters. With one parameter, it is just a front end for the built-in "open" function. With two or
three parameters, the first parameter is a filename that may include whitespace or other special characters, and the second parameter
is the open mode, optionally followed by a file permission value.
If "IO::File::open" receives a Perl mode string (">", "+<", etc.) or an ANSI C fopen() mode string ("w", "r+", etc.), it uses the
basic Perl "open" operator (but protects any special characters).
If "IO::File::open" is given a numeric mode, it passes that mode and the optional permissions value to the Perl "sysopen" operator.
The permissions default to 0666.
For convenience, "IO::File" exports the O_XXX constants from the Fcntl module, if this module is available.
SEE ALSO
perlfunc, "I/O Operators" in perlop, IO::Handle IO::Seekable
HISTORY
Derived from FileHandle.pm by Graham Barr <gbarr@pobox.com>.
perl v5.8.0 2002-06-01 IO::File(3pm)