1 # Test control commands for loops and functions.
5 fn3() { return $1; print Error }
13 for val in -1 0 1 255; do
16 0:Passing of return values back through functions
30 1:continue outside loop
31 ?fn:continue:1 not in while, until, select, or repeat loop
33 for outer in 0 1 2 3; do
35 for inner in 0 1 2 3; do
37 continue $(( (outer & 1) ? 2 : 1 ))
42 0:continue with valid argument
62 print -- $outer got here, status $?
64 1:continue error case 0
65 ?(eval):continue:2: argument is not positive: 0
69 print -- $outer got here, status $?
71 1:continue error case -1
72 ?(eval):continue:2: argument is not positive: -1
81 0:break from within function (this is a feature, I disovered)
84 for outer in 0 1 2 3; do
86 for inner in 0 1 2 3; do
88 break $(( (outer & 1) ? 2 : 1 ))
93 0:break with valid argument
102 print -- $outer got here, status $?
105 ?(eval):break:2: argument is not positive: 0
109 print -- $outer got here, status $?
111 1:break error case -1
112 ?(eval):break:2: argument is not positive: -1