[CentOS] Basic Bash Script Question

Mon Feb 21 11:05:07 UTC 2011
Pascal <paxcal at gmail.com>

2011/2/21 James Bensley <jwbensley at gmail.com>:

> I'm stuck trying to work this one out and my Google skills are
> apparently lacking today.
>
> This is a test bash script;
>
> #!/bin/bash
>
> do something | tee a.log
>
> if [ $? -ne 0]; then
>  echo broken
> fi
>
> The problem with this script is $? contains the exit value of the tee
> command, but I want to check the exit value of whatever command I put
> in place of 'do something'.
>
> How can I achieve this without loosing the tee operation, as 'do
> something' maybe a long running command with a lot of output like
> rsync?
>
> I don't want to;
> result=`do something`
> if [ $? -ne 0...
> ....
> fi
> echo $result

man bash

search for Pipelines, pipefail and PIPESTATUS.

--
Pascal