]>
Commit | Line | Data |
---|---|---|
17345e5a JA |
1 | # subshell failure should cause the shell to exit silently |
2 | ${THIS_SH} -ce '(exit 17) ; echo "after (exit 17): $?"' | |
3 | ||
4 | # pipeline failure should cause shell to exit silently | |
5 | ${THIS_SH} -c 'set -e ; false | echo foo | while read x ; do ( exit 17 ) ; done; echo after pipeline subshell;' | |
6 | ||
7 | # should be silent in posix mode | |
8 | ${THIS_SH} -c 'set -o posix; set -e ; z=$(false;echo posix foo) ; echo $z' | |
9 | # but echo foo in non-posix | |
10 | ${THIS_SH} -c 'set -e ; z=$(false;echo non-posix foo) ; echo $z' | |
11 | ||
12 | ${THIS_SH} -ce 'x=$(false) ; echo "x=\$(false) does not exit"' | |
13 | ||
14 | ${THIS_SH} -ce '{ false; echo false in brace group does not exit; }' | |
15 | echo after brace group failure: $? | |
16 | ||
17 | ${THIS_SH} -ce '(false ; echo A $?) && echo B $?; echo C $?'; echo D $? | |
18 | ||
19 | ${THIS_SH} -ce '(false ; echo A $?) ; echo B $?; echo C $?'; echo D $? | |
20 | ||
21 | ${THIS_SH} -ce 'f() (false ; echo A $?); f && echo B $?; echo C $?'; echo D $? | |
22 | ||
23 | ${THIS_SH} -ce 'f() (false ; echo A $?) ; f; echo B $?; echo C $?'; echo D $? | |
24 | ||
25 | ${THIS_SH} -ce 'if false; echo A $?; then echo B $?; fi'; echo C $? | |
26 | ||
27 | ${THIS_SH} -ce '! { false; echo A $?; } | cat; echo B $?'; echo C $? | |
28 | ||
29 | ${THIS_SH} -ce '{ false; echo A $?; } | cat ; echo B $?'; echo C $? | |
30 | ||
31 | set -e | |
32 | ||
33 | ! false | |
34 | echo after negation 1: $? | |
35 | ||
36 | ! false | false | |
37 | echo after negation 2: $? | |
38 | ||
39 | ! true | |
40 | echo after negation 3: $? | |
41 | ||
42 | ! (false) | |
43 | echo after negation 4: $? | |
44 | ||
45 | { false ; echo foo; } | cat | |
46 | echo after brace pipeline | |
47 | ||
48 | false | echo foo | cat | |
49 | echo after failure 1 | |
50 | ||
51 | false | (echo foo; false) | true | |
52 | echo after failure 2 | |
53 | ||
54 | false | echo foo | while read x ; do ( exit 17 ) ; done | true | |
55 | echo after failure 3 | |
56 | ||
57 | # this pipeline failure should cause the shell to exit | |
58 | false | echo foo | false | |
59 | echo after failure 4 |