Ciprian Dorin, Craciun wrote: > Shouldn't any of the following scripts print `error`? (Bash > 4.0.35(2)-release on ArchLinux.) > > Or I've miss-interpreted the documentation... > > Thanks, > Ciprian. > > > ~~~~ > set -e -o pipefail > ( false ; echo ok ; ) || echo error > ~~~~ > > ~~~~ > set -e -o pipefail > ( false ; echo ok ; ) | true || echo error > ~~~~ > > ~~~~ > set -e -o pipefail > { false ; echo ok ; } || echo error > ~~~~ > > ~~~~ > set -e -o pipefail > { false ; echo ok ; } | true || echo error > ~~~~
No. Since `set -e' has no effect on the left side of the || or && operators, all of the commands preceding the || exit with status 0. Chet -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, ITS, CWRU c...@case.edu http://cnswww.cns.cwru.edu/~chet/