case | dash | bash | mksh | osh | description |
0 | pass | ok | ok | FAIL | Bad env name: hyphen |
details | details | details | |||
1 | pass | ok | ok | FAIL | Bad env name: period |
details | details | details | |||
2 | pass | pass | pass | pass | Bad var sub |
3 | pass | ok | ok | pass | Bad braced var sub -- not allowed |
details | details | ||||
4 | BUG | BUG | BUG | pass | Bad var sub caught at parse time |
details | details | details | |||
5 | pass | pass | pass | pass | Pipe with while |
6 | pass | pass | pass | pass | Length of length of ARGS! |
7 | pass | pass | pass | pass | Length of length of ARGS! 2 digit |
8 | pass | pass | pass | pass | $1 .. $9 are scoped, while $0 is not |
9 | pass | pass | pass | pass | Chained && and || -- || has higher precedence? |
10 | pass | pass | pass | pass | Pipeline comments |
11 | pass | pass | pass | pass | Command block |
12 | ok | pass | ok | FAIL | { is its own word, needs a space |
details | details | details |
38 passed, 8 ok, 0 known unimplemented, 3 known bugs, 3 failed, 0 skipped
bash | 0 Bad env name: hyphen stdout: stderr: /bin/bash: line 1: export: `FOO-BAR=foo': not a valid identifier |
mksh | 0 Bad env name: hyphen stdout: stderr: /bin/mksh: <stdin>[1]: export: FOO-BAR=foo: is not an identifier |
osh | 0 Bad env name: hyphen [osh status] Expected 2, got 0 stdout: stderr: |
bash | 1 Bad env name: period stdout: stderr: /bin/bash: line 1: export: `FOO.BAR=foo': not a valid identifier |
mksh | 1 Bad env name: period stdout: stderr: /bin/mksh: <stdin>[1]: export: FOO.BAR=foo: is not an identifier |
osh | 1 Bad env name: period [osh status] Expected 2, got 0 stdout: stderr: |
bash | 3 Bad braced var sub -- not allowed stdout: stderr: /bin/bash: line 1: ${%}: bad substitution |
mksh | 3 Bad braced var sub -- not allowed stdout: stderr: /bin/mksh: <stdin>[1]: ${%}: bad substitution |
dash | 4 Bad var sub caught at parse time stdout: okstderr: |
bash | 4 Bad var sub caught at parse time stdout: okstderr: |
mksh | 4 Bad var sub caught at parse time stdout: okstderr: |
dash | 12 { is its own word, needs a space stdout: stderr: /bin/dash: 1: {ls: not found |
mksh | 12 { is its own word, needs a space stdout: stderr: /bin/mksh: <stdin>[1]: syntax error: '}' unexpected |
osh | 12 { is its own word, needs a space [osh status] Expected 2, got 127 stdout: stderr: Unexpected error in execvpe('{ls', ['{ls'], ...): [Errno 2] No such file or directory |