PASSING - Shell Compatibility

Back to TOP.html

name bash dash ash zsh mksh ksh toysh sush brush osh
TOTAL 2,199 1,005 1,211 1,277 1,452 1,491 820 1,405 1,586 2,309
alias 47 42 43 40 42 41 4 31 20 43
append 15 1 1 9 12 12 4 14 8 19
arith 62 28 41 44 51 52 39 59 58 70
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 23 17 19 12 20 21 9 12 9 23
ble-features 9 0 0 2 2 3 0 3 6 5
ble-idioms 25 6 8 15 18 18 2 18 19 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 50
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 22 22 23 18 18 14 17 22 23
builtin-completion 42 0 0 0 1 1 0 17 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 19 8 12 13 12 13 9 15 15 22
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 2 0 0 2 1 1 0 0 0 0
builtin-meta 15 8 8 11 13 12 1 8 11 17
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 54 35 34 37 35 37 35 14 37 43
builtin-process 21 17 20 20 19 19 6 7 17 26
builtin-read 55 21 43 20 33 35 0 25 33 58
builtin-set 15 13 13 8 12 12 4 7 10 14
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 22 18 20 14 18 19 0 13 8 20
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 28 0 1 8 5 5 0 12 29 28
builtin-vars 35 19 21 25 25 25 20 23 27 37
case_ 13 9 9 10 11 12 4 11 10 11
command_ 12 13 14 12 12 12 9 10 11 14
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 3 3 3 2 2 2 2 2 2 0
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 7 5 5 5 7 7 6 6 4 8
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 33 31 32 27 32 32 22 23 31 31
if_ 5 5 5 4 5 5 4 5 5 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 15 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 3
parse-errors 21 21 22 5 7 7 21 14 13 24
pipeline 24 16 17 19 21 20 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 34 19 27 31 29 29 18 22 29 35
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 23 7 9 11 12 12 5 6 19 34
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 2 2 2 2 1 2 1 1 2 3
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 15 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 38 34 35 29 37 37 13 35 24 39
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.

Raw TSV