1 # This program is free software: you can redistribute it and/or modify
2 # it under the terms of the GNU General Public License as published by
3 # the Free Software Foundation, either version 3 of the License, or
4 # (at your option) any later version.
6 # This program is distributed in the hope that it will be useful,
7 # but WITHOUT ANY WARRANTY; without even the implied warranty of
8 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 # GNU General Public License for more details.
11 # You should have received a copy of the GNU General Public License
12 # along with this program. If not, see <http://www.gnu.org/licenses/>.
16 $binfalse || return 1 # normalize return value
19 if [ -x /usr/bin/true ]; then
21 elif [ -x /bin/true ]; then
26 if [ -x /usr/bin/false ]; then
27 binfalse=/usr/bin/false
28 elif [ -x /bin/false ]; then
38 echo after 1: foo = $foo
42 printf "%d\n" 1 2 3 | while read foo; do tot+=$foo; done
43 echo after 2: tot = $tot
50 printf "%s\n" a b c | while read foo; do last=$foo; done
54 echo $? -- ${PIPESTATUS[@]}
56 true | false | $bintrue
57 echo $? -- ${PIPESTATUS[@]}
59 true | $bintrue | false
60 echo $? -- ${PIPESTATUS[@]}
63 true | $bintrue | false
64 echo $? -- ${PIPESTATUS[@]}
66 true | binfalse | true
67 echo $? -- ${PIPESTATUS[@]}
70 ${THIS_SH} ./lastpipe1.sub
71 echo lastpipe1.sub returns $?
73 ${THIS_SH} ./lastpipe2.sub