Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to check exit if used tee?

I try to use tee to save output in file like:

myapp | tee log.txt

But I have a problem with checking of exit. Previous code:

myapp 
if [ $? -eq 0 ] 
then .....

But $? will be exit of tee! Does it possible catch exit of myapp? Thanks.

like image 786
user710818 Avatar asked Feb 21 '23 08:02

user710818


1 Answers

For bash, there's a convenient special array: PIPESTATUS. The return code for myapp would be in ${PIPESTATUS[0]} and so on.

zsh has a roughly identical method.

There's also a rather more annoying, hacky way to do it in strict bourne shells that you can read about in the comp.unix.shell FAQ.

like image 124
Nicholas Knight Avatar answered Feb 28 '23 01:02

Nicholas Knight