| case | dash | bash | mksh | osh | description |
| 0 | pass | pass | pass | pass | implicit for loop |
| 1 | pass | pass | BUG | pass | empty for loop (has "in") |
| details | |||||
| 2 | pass | ok | ok | pass | for loop with invalid identifier |
| details | details | ||||
| 3 | pass | pass | pass | pass | Tilde expansion within for loop |
| 4 | N-I | pass | pass | pass | Brace Expansion within Array |
| details | |||||
| 5 | pass | pass | pass | pass | using loop var outside loop |
| 6 | pass | pass | pass | pass | continue |
| 7 | pass | pass | pass | pass | break |
| 8 | N-I | N-I | N-I | pass | continue at top level is error |
| details | details | details | |||
| 9 | N-I | N-I | N-I | pass | break at top level is error |
| details | details | details | |||
| 10 | pass | pass | pass | pass | while in while condition |
| 11 | pass | pass | pass | pass | while in pipe |
| 12 | pass | pass | pass | pass | while in pipe with subshell |
| 13 | pass | pass | pass | pass | until loop |
46 passed, 2 ok, 7 known unimplemented, 1 known bugs, 0 failed, 0 skipped
| mksh | 1 empty for loop (has "in") stdout: 1 2 3stderr: |
| bash | 2 for loop with invalid identifier stdout: stderr: /bin/bash: line 3: `-': not a valid identifier |
| mksh | 2 for loop with invalid identifier stdout: stderr: /bin/mksh: <stdin>[1]: for: bad identifier |
| dash | 4 Brace Expansion within Array stdout: -{a,b}
{c,d}-
stderr: |
| dash | 8 continue at top level is error stdout: badstderr: |
| bash | 8 continue at top level is error stdout: badstderr: /bin/bash: line 1: continue: only meaningful in a `for', `while', or `until' loop |
| mksh | 8 continue at top level is error stdout: badstderr: /bin/mksh: <stdin>[1]: continue: can't continue |
| dash | 9 break at top level is error stdout: badstderr: |
| bash | 9 break at top level is error stdout: badstderr: /bin/bash: line 1: break: only meaningful in a `for', `while', or `until' loop |
| mksh | 9 break at top level is error stdout: badstderr: /bin/mksh: <stdin>[1]: break: can't break |