05-22-2013
Function output to log file
Hi
I have a shell script that does a whole bunch of things. For the sake of simplicity, assume it runs commands one two and three. What i ultimately need is the ability to display the output of the entire script on the screen as well as capture the output in a file. When I try to do it in the following way, it only captures the output of command three:
command one
command two
command three 2>&1 | tee /tmp/log.txt'
This does not resolve my issue. So I thought of including all commands in a function and then trying to capture the output in a file, like the example given below. This seems to be erroneous
Since I have multiple commands to execute, if I
Func()
{
command one
command two
command three
}
#main
Func 2>&1 | tee /tmp/log.txt'
Is there a way/better way of doing this? Please advice.
Thanks
---------- Post updated at 11:10 AM ---------- Previous update was at 09:49 AM ----------
I found a working solution. After each command that needs to be logged, add 2>&1 | tee -a /tmp/log.txt. It will log on the console and also append it to the log file. Any improvements/more efficient ways of doing it are welcome.
![Smilie Smilie](https://www.unix.com/images/smilies/smile.gif)
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I am working on a script that will recycle processes in an application identified by entry ids. I am reading a file, and using the first field in the records in file to store the entry ids. The second field is a description. I have two records in this file to test my script.
My code to do this... (2 Replies)
Discussion started by: Skyybugg
2 Replies
2. Shell Programming and Scripting
hello all,
I'm invoking the program generate-report using backticks from my perl program and redirecting the output to the log file sge-stderr.log. But when i check the process using ps command it is spawing two processes where the below code is parent process and the program generate-report as... (2 Replies)
Discussion started by: kalyanraj
2 Replies
3. UNIX for Dummies Questions & Answers
I have this shell:
function AAAA {
echo $* > Log1
}
# main
AAA "TEST" > Log2
.....
I not see the same output in the 2 files ; only Log1 result with the strings $*
Log2 is without strings ....
Why? (1 Reply)
Discussion started by: ZINGARO
1 Replies
4. UNIX for Dummies Questions & Answers
Apologies for the trivial nature of this question but I cannot seem to get a simple re direct to a log file to work
Step 1
touch log.txt
at -f batch.sh now >> log.txt
I am trying to get the batch.sh contents into the log file
Manny Thanks (8 Replies)
Discussion started by: JohnCrump
8 Replies
5. Shell Programming and Scripting
Hi
I have a script that will run multiple unix & sql commands. I want to see the output as well as capture it to a log file for further analysis. Is there an easy way to do that instead of adding "tee -a logfile" on everyline or even on the execute line (i.e. script | tee -s logfile).
Thanks (1 Reply)
Discussion started by: nimo
1 Replies
6. Shell Programming and Scripting
Hi,
I wrote a small script whose function is to execute the postemsg provided if the threshold breaches.
I want to log this postemsg messages to a log file. But I am not able to do. Can someone throw some light on how to log the output of this. I am pasting a snippet of that code.
... (2 Replies)
Discussion started by: dbashyam
2 Replies
7. Shell Programming and Scripting
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. Shell Programming and Scripting
Hi All,
I have result log file which looks like this (below): from the content need to consolidate the result and put it in tabular form
1). Intercomponents Checking
Passed: All Server are passed.
======================================================================
2). OS version Checking... (9 Replies)
Discussion started by: Optimus81
9 Replies
9. Shell Programming and Scripting
Hi guys,
A part of my script involves checking for the md5sum of a file.
When I run the script, it displays me the output but I want the same output to be written to a log file aswell.
#!/bin/bash
LOG=/tmp/deploy.log
MD5SUM_ADP=`md5sum /opt/code/ADPWebApp.war | awk '{print $1}'`... (4 Replies)
Discussion started by: Junaid Subhani
4 Replies
10. Shell Programming and Scripting
Hi Team -
I"m very new to Shell Scripting so I have a rather novice question. My forte is Windows Batch Scripting so I was just wondering what the Shell Script equivalent is to the DOS command %~n?
%~n is a DOS variable that dispayed the script name.
For instance (in DOS):
REM... (11 Replies)
Discussion started by: SIMMS7400
11 Replies
LEARN ABOUT OPENDARWIN
script
SCRIPT(1) BSD General Commands Manual SCRIPT(1)
NAME
script -- make typescript of terminal session
SYNOPSIS
script [-a] [-k] [-q] [-t time] [file [command ...]]
DESCRIPTION
The script utility makes a typescript of everything printed on your terminal. It is useful for students who need a hardcopy record of an
interactive session as proof of an assignment, as the typescript file can be printed out later with lpr(1).
If the argument file is given, script saves all dialogue in file. If no file name is given, the typescript is saved in the file typescript.
If the argument command ... is given, script will run the specified command with an optional argument vector instead of an interactive shell.
Options:
-a Append the output to file or typescript, retaining the prior contents.
-k Log keys sent to program as well as output.
-q Run in quiet mode, omit the start and stop status messages.
-t time Specify time interval between flushing script output file. A value of 0 causes script to flush for every character I/O event. The
default interval is 30 seconds.
The script ends when the forked shell (or command) exits (a control-D to exit the Bourne shell (sh(1)), and exit, logout or control-d (if
ignoreeof is not set) for the C-shell, csh(1)).
Certain interactive commands, such as vi(1), create garbage in the typescript file. The script utility works best with commands that do not
manipulate the screen. The results are meant to emulate a hardcopy terminal, not an addressable one.
ENVIRONMENT
The following environment variable is utilized by script:
SHELL If the variable SHELL exists, the shell forked by script will be that shell. If SHELL is not set, the Bourne shell is assumed. (Most
shells set this variable automatically).
SEE ALSO
csh(1) (for the history mechanism).
HISTORY
The script command appeared in 3.0BSD.
BUGS
The script utility places everything in the log file, including linefeeds and backspaces. This is not what the naive user expects.
It is not possible to specify a command without also naming the script file because of argument parsing compatibility issues.
When running in -k mode, echo cancelling is far from ideal. The slave terminal mode is checked for ECHO mode to check when to avoid manual
echo logging. This does not work when in a raw mode where the program being run is doing manual echo.
BSD
June 6, 1993 BSD