spec test index / oilshell.org
| status | dash | bash | mksh | zsh | osh | |
| pass | 7 | 14 | 12 | 11 | 16 | |
| ok | 2 | 1 | 3 | 2 | 0 | |
| N-I | 4 | 0 | 1 | 3 | 0 | |
| BUG | 3 | 1 | 0 | 0 | 0 | |
| total | 16 | 16 | 16 | 16 | 16 | |
| case | dash | bash | mksh | zsh | osh | description |
| 0 | ok | pass | pass | pass | pass | command -v |
| details | ||||||
| 1 | BUG | BUG | ok | pass | pass | command -v with multiple names |
| details | details | details | ||||
| 2 | BUG | pass | pass | pass | pass | command -v doesn't find non-executable file |
| details | ||||||
| 3 | ok | ok | ok | ok | pass | command -V |
| details | details | details | details | |||
| 4 | BUG | pass | ok | ok | pass | command -V nonexistent |
| details | details | details | ||||
| 5 | pass | pass | pass | pass | pass | command skips function lookup |
| 6 | pass | pass | pass | N-I | pass | command command seq 3 |
| details | ||||||
| 7 | pass | pass | pass | N-I | pass | command command -v seq |
| details | ||||||
| 8 | pass | pass | pass | pass | pass | command -p (override existing program) |
| 9 | pass | pass | pass | pass | pass | command -p (hide tool in custom path) |
| 10 | pass | pass | pass | pass | pass | command -p (find hidden tool in default path) |
| 11 | pass | pass | N-I | N-I | pass | $(command type ls) |
| details | details | |||||
| 12 | N-I | pass | pass | pass | pass | builtin |
| details | ||||||
| 13 | N-I | pass | pass | pass | pass | builtin ls not found |
| details | ||||||
| 14 | N-I | pass | pass | pass | pass | builtin no args |
| details | ||||||
| 15 | N-I | pass | pass | pass | pass | builtin command echo hi |
| details |
60 passed, 8 OK, 8 not implemented, 4 BUG, 0 failed, 0 timeouts, 0 cases skipped
| dash | 0 command -v stdout: echo 0 myfunc 0 nonexistent=127 empty=127 for 0stderr: |
| dash | 1 command -v with multiple names stdout: echo status=0stderr: |
| bash | 1 command -v with multiple names stdout: echo myfunc for status=0stderr: |
| mksh | 1 command -v with multiple names stdout: echo myfunc status=1stderr: |
| dash | 2 command -v doesn't find non-executable file stdout: _tmp/non-executable status=0 _tmp/executable status=0stderr: |
| dash | 3 command -V stdout: ll is an alias for ls -l status=0 echo is a shell builtin status=0 myfunc is a shell function status=0 nonexistent: not found status=127 for is a shell keyword status=0stderr: dash: 3: shopt: not found |
| bash | 3 command -V stdout: ll is aliased to 'ls -l'
status=0
echo is a shell builtin
status=0
myfunc is a function
myfunc ()
{
echo x
}
status=0
status=1
for is a shell keyword
status=0
stderr: bash: line 16: command: nonexistent: not found |
| mksh | 3 command -V stdout: ll is an alias for 'ls -l' status=0 echo is a shell builtin status=0 myfunc is a function status=0 nonexistent not found status=1 for is a reserved word status=0stderr: mksh: <stdin>[3]: shopt: not found |
| zsh | 3 command -V stdout: ll is an alias for ls -l status=0 echo is a shell builtin status=0 myfunc is a shell function status=0 nonexistent not found status=1 for is a reserved word status=0stderr: zsh: command not found: shopt |
| dash | 4 command -V nonexistent stdout: nonexistent: not found status=127stderr: |
| mksh | 4 command -V nonexistent stdout: nonexistent not found status=1stderr: |
| zsh | 4 command -V nonexistent stdout: nonexistent not found status=1stderr: |
| zsh | 6 command command seq 3 stdout: stderr: zsh: command not found: command |
| zsh | 7 command command -v seq stdout: stderr: zsh: command not found: command |
| mksh | 11 $(command type ls) stdout: status=1stderr: mksh: <stdin>[3]: type: not found |
| zsh | 11 $(command type ls) stdout: FUNCTION status=1stderr: zsh: command not found: type |
| dash | 12 builtin stdout: histderr: dash: 3: builtin: not found |
| dash | 13 builtin ls not found stdout: stderr: dash: 1: builtin: not found |
| dash | 14 builtin no args stdout: stderr: dash: 1: builtin: not found |
| dash | 15 builtin command echo hi stdout: stderr: dash: 1: builtin: not found |