1 ## compare_shells: dash bash mksh
2
3 # Tests that explore parsing corner cases.
4
5 #### Length of length of ARGS!
6 fun() { echo ${##}; }
7 fun 0 1 2 3 4 5 6 7 8
8 ## stdout: 1
9
10 #### Length of length of ARGS! 2 digit
11 fun() { echo ${##}; }
12 fun 0 1 2 3 4 5 6 7 8 9
13 ## stdout: 2
14
15 #### Is \r considered whitespace?
16 echo -e 'echo\rTEST' > myscript
17 $SH myscript
18
19 ## status: 127
20 ## STDOUT:
21 ## END
22
23 #### readonly +
24
25 # dash and bash validate this! But not set +
26
27 readonly + >/dev/null
28 echo status=$?
29 ## STDOUT:
30 status=0
31 ## END
32 ## OK bash STDOUT:
33 status=1
34 ## END
35 ## OK dash status: 2
36 ## OK dash stdout-json: ""
37
38 #### set +
39 set + >/dev/null
40 echo status=$?
41 ## STDOUT:
42 status=0
43 ## END