1 ## our_shell: ysh
2 ## oils_failures_allowed: 1
3
4 #### Redirect with if, case, while, for
5
6 if (true) {
7 echo ysh-if
8 } > out
9
10 cat out
11
12 case (true) {
13 (true) {
14 echo ysh-case
15 }
16 } > out
17
18 cat out
19
20 while (true) {
21 echo ysh-while
22 break
23 } > out
24
25 cat out
26
27 for x in ([42]) {
28 echo ysh-for
29 } > out
30
31 cat out
32
33 ## STDOUT:
34 ysh-if
35 ysh-case
36 ysh-while
37 ysh-for
38 ## END
39
40
41 #### Redirect failure is either fatal or can be checked
42
43 # TODO: this fails, but there's no way to check it
44 #
45 # We can have shopt -s redir_errexit in YSH then?
46 # Can you catch the error?
47
48 { echo 1; echo 2 } > /
49
50 echo status=$?
51
52 ## STDOUT:
53 ## END
54