My problem is more a question of how to do it more elegantly than how to do it at all. The problem:
I have a pipeline which has to write to the screen AND to a logfile:
proc1 | tee -a <logfile>
What makes things difficult is i also need the return code of proc1. But
proc1 | tee -a <logfile> ; print - "$?"
will only display the exit code of tee, not of proc1. Of course I could use a solution with an intermediate file like:
This solution would work but even not taking into account that the output is displayed after instead of concurrently to the execution of proc1 to me it looks clumsy and I'd be thankful for input on how to do it better.
You have taken correct way. $? will give status of prev command. we can not make it with single utility to give return code and redirect output to another log file. You can do it better as,
# proc > logfile
RC=$?
tee -a <logfile> < logfile
print "$RC"
Can someone please explain this code.
I know that file handles 1 for stdout and 2 for stderr. what are 3 and 4?
How does the first three lines of code achieve the result that bakunin wanted of returning the result of execution of proc?
Hello,
I am currently interning at a place and my job is to essentially learn UNIX. My supervisor gives me problems here and there to help guide me with my learning but for the most part I'm doing this all by self-teaching myself. Needless to say I have run into a few obstacles...for... (12 Replies)
Hello,
There is a symbolic link in a folder. I would like to read destination of this link and get base name of pointed file. Let's say, there is symlink : symlink -> ../file.txt.
I can do that what I want by this script:
readlink symlink | while read var
do
echo `basename $var`
done
but... (1 Reply)
I am doing a program that will calculate the 199th fibonacci number using pipelines and multiple processes for each calculation. I have figured everything out except why none of the processes before the last one never execute the findfib() function;
Our teacher gave us the pipeline code to... (3 Replies)