Back to TOP.html
| name | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh |
| TOTAL | 2,264 | 1,044 | 1,257 | 1,316 | 1,493 | 1,537 | 841 | 1,436 | 1,626 | 2,373 |
| alias | 47 | 42 | 43 | 40 | 42 | 41 | 4 | 31 | 19 | 43 |
| append | 15 | 1 | 1 | 9 | 12 | 12 | 4 | 14 | 8 | 19 |
| arg-parse | 3 | 1 | 1 | 1 | 1 | 1 | 2 | 2 | 1 | 3 |
| arith | 63 | 29 | 42 | 45 | 52 | 53 | 40 | 60 | 59 | 71 |
| arith-context | 13 | 1 | 4 | 7 | 8 | 9 | 6 | 10 | 6 | 14 |
| arith-dynamic | 4 | 0 | 1 | 1 | 1 | 1 | 3 | 4 | 3 | 1 |
| array | 63 | 7 | 7 | 25 | 41 | 45 | 8 | 56 | 47 | 76 |
| array-assign | 9 | 0 | 0 | 2 | 7 | 7 | 1 | 9 | 1 | 1 |
| array-assoc | 34 | 0 | 0 | 10 | 7 | 7 | 0 | 26 | 27 | 38 |
| array-basic | 5 | 0 | 0 | 2 | 5 | 5 | 0 | 5 | 5 | 5 |
| array-compat | 12 | 1 | 1 | 2 | 9 | 9 | 0 | 11 | 9 | 7 |
| array-literal | 12 | 0 | 0 | 1 | 0 | 0 | 0 | 8 | 5 | 19 |
| array-sparse | 21 | 0 | 0 | 0 | 6 | 7 | 0 | 11 | 15 | 38 |
| assign | 36 | 22 | 28 | 35 | 33 | 34 | 21 | 29 | 36 | 47 |
| assign-deferred | 6 | 1 | 1 | 1 | 6 | 6 | 0 | 3 | 5 | 4 |
| assign-dialects | 4 | 0 | 0 | 0 | 1 | 3 | 0 | 1 | 2 | 1 |
| assign-extended | 23 | 0 | 0 | 13 | 7 | 8 | 1 | 13 | 19 | 36 |
| background | 22 | 17 | 19 | 12 | 20 | 21 | 9 | 13 | 9 | 23 |
| ble-features | 9 | 0 | 0 | 2 | 2 | 3 | 0 | 3 | 6 | 5 |
| ble-idioms | 25 | 6 | 8 | 15 | 18 | 18 | 2 | 18 | 20 | 21 |
| ble-unset | 0 | 3 | 3 | 2 | 4 | 1 | 2 | 2 | 0 | 3 |
| blog1 | 8 | 7 | 8 | 7 | 6 | 7 | 0 | 2 | 4 | 5 |
| blog2 | 8 | 5 | 3 | 5 | 7 | 8 | 7 | 2 | 7 | 8 |
| brace-expansion | 46 | 8 | 8 | 38 | 32 | 32 | 38 | 42 | 37 | 51 |
| bugs | 21 | 12 | 13 | 18 | 17 | 17 | 12 | 16 | 18 | 26 |
| builtin-bash | 13 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 10 | 9 |
| builtin-bind | 9 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 2 |
| builtin-bracket | 49 | 42 | 44 | 37 | 45 | 48 | 40 | 43 | 42 | 52 |
| builtin-cd | 26 | 24 | 24 | 24 | 19 | 19 | 14 | 17 | 23 | 25 |
| builtin-completion | 42 | 0 | 0 | 0 | 1 | 1 | 0 | 16 | 31 | 48 |
| builtin-dirs | 16 | 0 | 0 | 11 | 0 | 0 | 0 | 0 | 16 | 16 |
| builtin-echo | 27 | 9 | 20 | 21 | 20 | 21 | 14 | 19 | 23 | 27 |
| builtin-eval-source | 20 | 9 | 13 | 14 | 12 | 13 | 10 | 15 | 17 | 23 |
| builtin-fc | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 9 |
| builtin-getopts | 22 | 18 | 20 | 12 | 17 | 17 | 0 | 13 | 7 | 21 |
| builtin-history | 7 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 9 |
| builtin-kill | 16 | 4 | 9 | 7 | 7 | 9 | 1 | 6 | 3 | 13 |
| builtin-meta | 16 | 8 | 8 | 12 | 13 | 13 | 1 | 8 | 11 | 18 |
| builtin-meta-assign | 6 | 1 | 3 | 4 | 5 | 5 | 0 | 0 | 4 | 11 |
| builtin-misc | 3 | 3 | 4 | 3 | 3 | 3 | 2 | 2 | 3 | 7 |
| builtin-printf | 58 | 39 | 37 | 38 | 39 | 41 | 37 | 14 | 40 | 48 |
| builtin-process | 21 | 17 | 20 | 20 | 19 | 19 | 6 | 8 | 18 | 25 |
| builtin-read | 58 | 21 | 45 | 20 | 33 | 35 | 0 | 25 | 36 | 62 |
| builtin-set | 21 | 18 | 18 | 14 | 16 | 16 | 4 | 12 | 16 | 20 |
| builtin-special | 6 | 7 | 5 | 7 | 9 | 10 | 4 | 4 | 7 | 10 |
| builtin-times | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 |
| builtin-trap | 28 | 22 | 23 | 14 | 20 | 22 | 3 | 13 | 9 | 26 |
| builtin-trap-bash | 22 | 1 | 1 | 4 | 1 | 1 | 0 | 1 | 1 | 16 |
| builtin-trap-err | 20 | 3 | 17 | 11 | 14 | 15 | 3 | 3 | 3 | 20 |
| builtin-type | 4 | 3 | 3 | 1 | 2 | 2 | 0 | 4 | 2 | 6 |
| builtin-type-bash | 29 | 0 | 1 | 8 | 5 | 5 | 0 | 12 | 29 | 29 |
| builtin-vars | 35 | 19 | 21 | 25 | 25 | 25 | 19 | 23 | 27 | 37 |
| case_ | 13 | 9 | 9 | 10 | 11 | 12 | 4 | 11 | 10 | 11 |
| command_ | 13 | 14 | 15 | 13 | 13 | 13 | 10 | 10 | 11 | 15 |
| command-parsing | 4 | 5 | 5 | 5 | 5 | 5 | 4 | 4 | 4 | 2 |
| command-sub | 29 | 29 | 30 | 24 | 27 | 27 | 13 | 28 | 15 | 30 |
| command-sub-ksh | 0 | 0 | 0 | 0 | 4 | 4 | 0 | 0 | 0 | 0 |
| comments | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
| dbracket | 49 | 7 | 20 | 35 | 36 | 36 | 17 | 36 | 40 | 50 |
| divergence | 5 | 5 | 5 | 4 | 3 | 3 | 1 | 3 | 1 | 1 |
| dparen | 13 | 0 | 0 | 6 | 10 | 10 | 3 | 11 | 9 | 14 |
| empty-bodies | 1 | 1 | 1 | 3 | 2 | 2 | 3 | 3 | 3 | 3 |
| errexit | 34 | 29 | 30 | 32 | 35 | 35 | 13 | 12 | 14 | 35 |
| errexit-osh | 15 | 9 | 14 | 10 | 10 | 11 | 11 | 13 | 13 | 35 |
| exit-status | 9 | 7 | 7 | 7 | 9 | 9 | 6 | 8 | 4 | 11 |
| explore-parsing | 4 | 4 | 4 | 5 | 5 | 5 | 3 | 3 | 3 | 5 |
| extglob-files | 22 | 0 | 0 | 2 | 18 | 18 | 2 | 14 | 19 | 18 |
| extglob-match | 29 | 0 | 0 | 2 | 22 | 26 | 1 | 24 | 28 | 25 |
| fatal-errors | 0 | 0 | 0 | 2 | 5 | 5 | 0 | 0 | 3 | 5 |
| for-expr | 8 | 0 | 0 | 8 | 0 | 0 | 0 | 4 | 5 | 9 |
| func-parsing | 12 | 11 | 11 | 5 | 9 | 9 | 14 | 8 | 12 | 14 |
| glob | 36 | 29 | 32 | 23 | 29 | 31 | 19 | 29 | 30 | 34 |
| glob-bash | 8 | 0 | 0 | 0 | 0 | 0 | 0 | 5 | 2 | 7 |
| globignore | 14 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| globstar | 4 | 0 | 0 | 3 | 1 | 1 | 0 | 4 | 1 | 1 |
| here-doc | 34 | 32 | 33 | 28 | 33 | 33 | 22 | 23 | 31 | 31 |
| if_ | 5 | 5 | 5 | 4 | 5 | 5 | 4 | 5 | 4 | 5 |
| interactive | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 8 | 18 |
| introspect | 12 | 0 | 2 | 1 | 1 | 1 | 1 | 2 | 4 | 13 |
| let | 2 | 0 | 1 | 0 | 1 | 1 | 0 | 2 | 1 | 0 |
| loop | 23 | 23 | 23 | 21 | 23 | 24 | 16 | 22 | 21 | 29 |
| nameref | 25 | 2 | 2 | 3 | 13 | 13 | 2 | 3 | 3 | 25 |
| nix-idioms | 6 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 3 | 5 |
| nocasematch-match | 6 | 3 | 3 | 2 | 3 | 3 | 3 | 3 | 6 | 6 |
| nul-bytes | 16 | 6 | 13 | 2 | 14 | 14 | 1 | 0 | 2 | 11 |
| osh-bugs | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 |
| paren-ambiguity | 9 | 6 | 6 | 9 | 9 | 9 | 7 | 7 | 8 | 6 |
| parse-errors | 22 | 22 | 23 | 6 | 8 | 8 | 22 | 15 | 14 | 24 |
| pipeline | 25 | 16 | 17 | 19 | 21 | 21 | 12 | 23 | 23 | 24 |
| posix | 15 | 15 | 15 | 13 | 13 | 13 | 7 | 13 | 14 | 15 |
| print-source-code | 4 | 0 | 0 | 4 | 4 | 4 | 0 | 4 | 4 | 4 |
| process-sub | 5 | 0 | 5 | 5 | 0 | 0 | 2 | 3 | 6 | 9 |
| prompt | 31 | 0 | 0 | 0 | 6 | 0 | 0 | 0 | 21 | 25 |
| quote | 33 | 22 | 31 | 25 | 28 | 28 | 31 | 33 | 28 | 33 |
| redirect | 37 | 20 | 28 | 34 | 31 | 31 | 20 | 23 | 31 | 38 |
| redirect-command | 22 | 19 | 20 | 18 | 21 | 21 | 19 | 16 | 21 | 23 |
| redirect-multi | 11 | 1 | 4 | 4 | 4 | 3 | 8 | 9 | 8 | 13 |
| redir-order | 5 | 4 | 4 | 5 | 5 | 5 | 3 | 5 | 4 | 5 |
| regex | 35 | 2 | 10 | 16 | 6 | 6 | 11 | 23 | 30 | 37 |
| serialize | 7 | 0 | 0 | 3 | 4 | 4 | 0 | 2 | 6 | 7 |
| sh-func | 11 | 10 | 10 | 12 | 11 | 11 | 11 | 9 | 10 | 11 |
| sh-options | 26 | 8 | 11 | 12 | 15 | 15 | 6 | 7 | 21 | 37 |
| sh-options-bash | 8 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 7 | 6 |
| sh-usage | 15 | 11 | 12 | 13 | 9 | 11 | 7 | 6 | 10 | 16 |
| smoke | 18 | 18 | 18 | 17 | 18 | 18 | 16 | 18 | 17 | 18 |
| subshell | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
| temp-binding | 3 | 3 | 3 | 3 | 2 | 3 | 2 | 2 | 3 | 4 |
| tilde | 12 | 9 | 12 | 11 | 12 | 12 | 3 | 10 | 5 | 13 |
| toysh | 8 | 0 | 1 | 1 | 1 | 3 | 3 | 6 | 5 | 4 |
| toysh-posix | 18 | 17 | 19 | 10 | 19 | 19 | 12 | 14 | 14 | 19 |
| type-compat | 4 | 0 | 0 | 1 | 1 | 1 | 1 | 2 | 2 | 2 |
| unicode | 7 | 0 | 1 | 5 | 3 | 3 | 0 | 0 | 2 | 7 |
| var-num | 6 | 6 | 6 | 6 | 6 | 6 | 7 | 6 | 7 | 7 |
| var-op-bash | 22 | 2 | 2 | 3 | 4 | 3 | 10 | 6 | 20 | 18 |
| var-op-len | 6 | 2 | 4 | 6 | 3 | 4 | 2 | 4 | 2 | 8 |
| var-op-patsub | 27 | 0 | 14 | 21 | 19 | 20 | 12 | 15 | 20 | 26 |
| var-op-slice | 20 | 0 | 6 | 15 | 5 | 8 | 6 | 12 | 13 | 20 |
| var-op-strip | 29 | 21 | 22 | 23 | 20 | 25 | 12 | 21 | 27 | 29 |
| var-op-test | 35 | 20 | 20 | 23 | 27 | 28 | 10 | 25 | 22 | 34 |
| var-ref | 26 | 0 | 0 | 5 | 2 | 3 | 5 | 16 | 21 | 31 |
| vars-bash | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| vars-special | 38 | 17 | 21 | 28 | 21 | 21 | 20 | 25 | 25 | 38 |
| var-sub | 5 | 4 | 5 | 3 | 4 | 4 | 2 | 5 | 5 | 6 |
| var-sub-quote | 40 | 35 | 37 | 30 | 38 | 38 | 13 | 37 | 25 | 41 |
| whitespace | 5 | 5 | 3 | 4 | 3 | 3 | 1 | 3 | 3 | 3 |
| word-eval | 8 | 6 | 6 | 5 | 8 | 8 | 5 | 8 | 7 | 8 |
| word-split | 50 | 49 | 49 | 18 | 48 | 49 | 30 | 46 | 34 | 53 |
| xtrace | 11 | 4 | 9 | 4 | 7 | 7 | 3 | 4 | 12 | 15 |
| zsh-assoc | 3 | 0 | 0 | 7 | 1 | 1 | 0 | 3 | 3 | 2 |
| zsh-idioms | 3 | 2 | 2 | 2 | 2 | 2 | 2 | 3 | 2 | 3 |
Generated by test/spec-compat.sh.