googling for "tee exit code" i found this that works (
source):
(/bin/foo ; echo $? >RES)| tee -a $LOGFILE
export ERR=$(cat RES)
I also found
this posting (see also
man bash and search for PIPESTATUS) that says that this will work:
$ cat test
#!/bin/bash
echo foo
sleep 2
echo bar
false
$ ./test | tee blah
foo
[.. seconds later..]
bar
$ echo ${PIPESTATUS[@]}
1 0
# (so ${PIPESTATUS[0]} should give you the return of the first comma
+nd).
But i was unable to get it to work (PIPESTATUS seemed to always have just one element of 0)...