08-24-2010
I don't think you can do this without pipes or temporary files. Messages on stderr are usually meant for humans and stdout for parsing by programs anyway, so scripts usually capture stdout for their own use and let operators see via stderr if anything goes wrong. After all, the error message may not be what the program expected.
This User Gave Thanks to Corona688 For This Post:
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
How can I redirect and append stdout and stderr to a file when using cron? Here is my crontab file:
*/5 * * * * /dir/php /dir/process_fns.php >>& /dir/dump.txt
Cron gives me an 'unexpected character found in line' when trying to add my crontab file.
Regards,
Zach Curtis
POPULUS (8 Replies)
Discussion started by: zcurtis
8 Replies
2. Shell Programming and Scripting
#!/usr/bin/perl
open(STDOUT, ">>$Textfile")
open(STDERR, ">>$Textfile")
print "program running\n";
$final = join("+", $initial,$final) #5
close (STDOUT);
close (STDERR);Hi all, above is my perl code. Notice i have captured the stdout and stderr to the same textfile. my code is expected to... (1 Reply)
Discussion started by: new2ss
1 Replies
3. Shell Programming and Scripting
Hi friends
I am facing one problem while redirecting the out of the stderr and stdout to a file
let example my problem with a simple example
I have a file (say test.sh)in which i run 2 command in the background
ps -ef &
ls &
and now i am run this file and redirect the output to a file... (8 Replies)
Discussion started by: sushantnirwan
8 Replies
4. Shell Programming and Scripting
I have been doing this:
make xyz &> xyz.log &; tail -f xyz.log
The problem with this is that you never can ge sure when "make xyz" is done.
How can I pipe both stderr and stdout into tee so both stderr and stdout are copied both to the display and to the log file?
Thanks,
Siegfried (3 Replies)
Discussion started by: siegfried
3 Replies
5. Shell Programming and Scripting
working on a c sell script
I think I understand the concept of it, which is:
filename >> file.txt (to appaend)
or filename | tee -a file.txt (to append)
The problem is that my shell script is used with several parameters, and these commands don't seem to work with just filename. They... (2 Replies)
Discussion started by: mistermojo
2 Replies
6. UNIX for Dummies Questions & Answers
I have an executable that, depending on its input, outputs to either one file or several. It usually prints nothing on screen. The usual way to call this program is to specify an input and output filenames, like this:
./executable.exe -i inputfile -o outputfileIt will then try to use the output... (1 Reply)
Discussion started by: aplaydoc
1 Replies
7. Red Hat
Hi all. I am trying to use backticks in Perl to put STDERR into a string. The code is...
$readkey_test = `perl -MTerm::ReadKey -e 1`;
print $readkey_test;
if ($readkey_test =~ m/]/)
{
print "ReadKey not installed...\n";
}
else
{
print "ReadKey installed...\n";
}
If it comes up... (3 Replies)
Discussion started by: austinharris43
3 Replies
8. Shell Programming and Scripting
Can somebody explain to me why the diff output is not going to stderr?
Yet when I issue a diff from the command line the return code is -ne 1.
I am guessing diff always writes to stdout???
Is there away I can force the difff to write to stderr USING THE CURRENT
template. If possible, I... (5 Replies)
Discussion started by: BeefStu
5 Replies
9. Shell Programming and Scripting
Hi all,
can someone help me with the next redirection?
i want to redirect the stdout+stderr of a command to the same file (this i can do by prog &> file)
but in addition i want to redirect only the stderr to a different file.
how can i do this please? (in BASH)
thanks. (4 Replies)
Discussion started by: eee
4 Replies
10. Shell Programming and Scripting
Well.. let's say i need to write a pretty simple script.
In my script i have 2 variables which can have value of 0 or 1.
$VERBOSE
$LOG
I need to implement these cases:
($VERBOSE = 0 && $LOG = 0) => ONLY ERROR output (STDERR to console && STDOUT to /dev/null)
($VERBOSE = 1... (5 Replies)
Discussion started by: Marmz
5 Replies
LEARN ABOUT NETBSD
annotate-output
ANNOTATE-OUTPUT(1) General Commands Manual ANNOTATE-OUTPUT(1)
NAME
annotate-output - annotate program output with time and stream
SYNOPSIS
annotate-output [options] program [args ...]
DESCRIPTION
annotate-output will execute the specified program, while prepending every line with the current time and O for stdout and E for stderr.
OPTIONS
+FORMAT
Controls the timestamp format, as per date(1). Defaults to "%H:%M:%S".
-h, --help
Display a help message and exit successfully.
EXAMPLE
$ annotate-output make
21:41:21 I: Started make
21:41:21 O: gcc -Wall program.c
21:43:18 E: program.c: Couldn't compile, and took me ages to find out
21:43:19 E: collect2: ld returned 1 exit status
21:43:19 E: make: *** [all] Error 1
21:43:19 I: Finished with exitcode 2
BUGS
Since stdout and stderr are processed in parallel, it can happen that some lines received on stdout will show up before later-printed
stderr lines (and vice-versa).
This is unfortunately very hard to fix with the current annotation strategy. A fix would involve switching to PTRACE'ing the process.
Giving nice a (much) higher priority over the executed program could however cause this behaviour to show up less frequently.
The program does not work as well when the output is not linewise. In particular, when an interactive program asks for input, the question
might not be shown until after you have answered it. This will give the impression that the annotated program has hung, while it has not.
SEE ALSO
date(1)
SUPPORT
This program is community-supported (meaning: you'll need to fix it yourself). Patches are however appreciated, as is any feedback (posi-
tive or negative).
AUTHOR
annotate-output was written by Jeroen van Wolffelaar <jeroen@wolffelaar.nl> This manpage comes under the same copyright as annotate-output
itself, read /usr/bin/annotate-output (or wherever you install it) for the details.
DEBIAN
Debian Utilities ANNOTATE-OUTPUT(1)