spec test index / oilshell.org
status | dash | bash | mksh | zsh | osh | |
pass | 7 | 7 | 6 | 7 | 4 | |
ok | 1 | 0 | 0 | 1 | 0 | |
N-I | 0 | 1 | 1 | 0 | 4 | |
BUG | 0 | 0 | 1 | 0 | 0 | |
total | 8 | 8 | 8 | 8 | 8 | |
case | dash | bash | mksh | zsh | osh | description |
0 | pass | pass | pass | pass | pass | ${##} |
1 | pass | pass | pass | pass | N-I | ${###} |
details | ||||||
2 | pass | pass | pass | pass | N-I | ${####} |
details | ||||||
3 | pass | pass | pass | pass | N-I | ${##2} |
details | ||||||
4 | pass | pass | BUG | pass | N-I | ${###2} |
details | details | |||||
5 | pass | pass | pass | pass | pass | ${1####} |
6 | pass | pass | pass | pass | pass | ${1#'###'} |
7 | ok | N-I | N-I | ok | pass | ${#1#'###'} |
details | details | details | details |
31 passed, 2 OK, 6 not implemented, 1 BUG, 0 failed, 0 timeouts, 0 cases skipped
osh | 1 ${###} stdout: stderr: echo ${###} ^ [ stdin ]:2: Expected } after length expression, got '#' |
osh | 2 ${####} stdout: stderr: echo ${####} ^~ [ stdin ]:2: Expected } after length expression, got '##' |
osh | 3 ${##2} stdout: stderr: echo ${##2} ^ [ stdin ]:2: Expected } after length expression, got '2' |
mksh | 4 ${###2} stdout: 25stderr: |
osh | 4 ${###2} stdout: stderr: echo ${###2} ^ [ stdin ]:2: Expected } after length expression, got '#' |
dash | 7 ${#1#'###'} stdout: 4stderr: |
bash | 7 ${#1#'###'} stdout: stderr: /home/andy/git/oilshell/oil/_tmp/spec-bin/bash: line 2: ${#1#'###'}: bad substitution |
mksh | 7 ${#1#'###'} stdout: stderr: /home/andy/git/oilshell/oil/_tmp/spec-bin/mksh: <stdin>[2]: ${#1#"###"}: bad substitution |
zsh | 7 ${#1#'###'} stdout: 1stderr: |