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
tee(1) General Commands Manual tee(1)
NAME
tee - Displays the output of a program and copies it into a file
SYNOPSIS
tee [-ai] file...
STANDARDS
Interfaces documented on this reference page conform to industry standards as follows:
tee: XCU5.0
Refer to the standards(5) reference page for more information about industry standards and associated tags.
OPTIONS
Adds the output to the end of file instead of writing over it. Ignores the SIGINT signal.
OPERANDS
Standard input is stored into, or appended to, the file specified.
[Tru64 UNIX] The tee command can accept up to 20 file arguments.
DESCRIPTION
The tee command reads standard input and writes to both standard output, and each specified file.
The tee command is useful when you wish to view program output as it is displayed, and also want to save it in a file. The tee command does
not buffer output, so you may wish to pipe the output of tee to more if more than one full screen of data is anticipated.
NOTES
If a write to any file fails, the exit status of tee will be non-zero. Writes to all other specified files may be successful, and opera-
tion will continue until standard input is exhausted.
EXIT STATUS
The following exit values are returned: Successful completion. An error occurred.
EXAMPLES
To view and save the output from a command at the same time, enter: lint program.c | tee program.lint
This displays the standard output of the command lint program.c at the terminal, and at the same time saves a copy of it in the file
program.lint. If program.lint already exists, it is deleted and replaced. To display and append to a file, enter: lint program.c |
tee -a program.lint
This displays the standard output of lint program.c at the terminal and at the same time appends a copy of it to the end of pro-
gram.lint. If the file program.lint does not exist, it is created.
ENVIRONMENT VARIABLES
The following environment variables affect the execution of tee: Provides a default value for the internationalization variables that are
unset or null. If LANG is unset or null, the corresponding value from the default locale is used. If any of the internationalization vari-
ables contain an invalid setting, the utility behaves as if none of the variables had been defined. If set to a non-empty string value,
overrides the values of all the other internationalization variables. Determines the locale for the interpretation of sequences of bytes
of text data as characters (for example, single-byte as opposed to multibyte characters in arguments). Determines the locale for the for-
mat and contents of diagnostic messages written to standard error. Determines the location of message catalogues for the processing of
LC_MESSAGES.
SEE ALSO
Commands: cat(1), echo(1), script(1)
Standards: standards(5)
tee(1)