| case | dash | bash | mksh | osh | description |
| 0 | pass | pass | pass | pass | $? |
| 1 | pass | pass | pass | pass | $# |
| 2 | ok | ok | ok | FAIL | $- |
| details | details | details | details | ||
| 3 | N-I | pass | N-I | FAIL | $_ |
| details | details | details | |||
| 4 | pass | pass | pass | FAIL | PID $$ |
| details | |||||
| 5 | pass | pass | pass | FAIL | Background PID $! |
| details | |||||
| 6 | pass | pass | pass | FAIL | $PPID |
| details | |||||
| 7 | N-I | pass | pass | FAIL | $PIPESTATUS |
| details | details | ||||
| 8 | pass | pass | pass | FAIL | $PWD |
| details | |||||
| 9 | N-I | pass | pass | FAIL | $RANDOM |
| details | details |
25 passed, 3 ok, 4 known unimplemented, 0 known bugs, 8 failed, 0 skipped
| dash | 2 $- stdout: ustderr: |
| bash | 2 $- stdout: huBcstderr: |
| mksh | 2 $- stdout: uhcstderr: |
| osh | 2 $- [osh status] Expected 0, got 2 stdout: stderr: Usage: osh [options] osh: error: no such option: -o |
| dash | 3 $_ stdout: histderr: |
| mksh | 3 $_ stdout: histderr: |
| osh | 3 $_ [osh stdout] Expected b'hi\nhi\n', got b'hi\n\n' stdout: histderr: |
| osh | 4 PID $$ [osh status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last):
File "bin/osh", line 378, in <module>
sys.exit(main(sys.argv))
File "bin/osh", line 368, in main
return OshMain(main_argv)
File "bin/osh", line 327, in OshMain
status = ex.Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 959, in Execute
status = self._Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 759, in _Execute
status = self._RunPipeline(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 691, in _RunPipeline
p = self._GetProcessForNode(child)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 557, in _GetProcessForNode
argv = self.ev.EvalWordSequence(words)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 1045, in EvalWordSequence
return self._EvalWordSequence(words)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 1028, in _EvalWordSequence
args = self._EvalWordAndReframe(w)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 989, in _EvalWordAndReframe
part_vals = self._EvalParts(word)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 882, in _EvalParts
for v in self.part_ev._EvalWordPart(p, quoted=quoted):
File "/home/andy/git/oil/bin/../core/word_eval.py", line 797, in _EvalWordPart
val = self._EvalSpecialVar(part.token.id, quoted)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 330, in _EvalSpecialVar
raise NotImplementedError(op_id)
NotImplementedError: VSub_Dollar
|
| osh | 5 Background PID $! [osh status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last):
File "bin/osh", line 378, in <module>
sys.exit(main(sys.argv))
File "bin/osh", line 368, in main
return OshMain(main_argv)
File "bin/osh", line 327, in OshMain
status = ex.Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 959, in Execute
status = self._Execute(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 824, in _Execute
status = self._Execute(child) # last status wins
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 759, in _Execute
status = self._RunPipeline(node)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 691, in _RunPipeline
p = self._GetProcessForNode(child)
File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 557, in _GetProcessForNode
argv = self.ev.EvalWordSequence(words)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 1045, in EvalWordSequence
return self._EvalWordSequence(words)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 1028, in _EvalWordSequence
args = self._EvalWordAndReframe(w)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 989, in _EvalWordAndReframe
part_vals = self._EvalParts(word)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 882, in _EvalParts
for v in self.part_ev._EvalWordPart(p, quoted=quoted):
File "/home/andy/git/oil/bin/../core/word_eval.py", line 797, in _EvalWordPart
val = self._EvalSpecialVar(part.token.id, quoted)
File "/home/andy/git/oil/bin/../core/word_eval.py", line 330, in _EvalSpecialVar
raise NotImplementedError(op_id)
NotImplementedError: VSub_Bang
|
| osh | 6 $PPID [osh status] Expected 0, got 99 stdout: 7stderr: |
| dash | 7 $PIPESTATUS stdout: stderr: /bin/dash: 2: Bad substitution |
| osh | 7 $PIPESTATUS [osh stdout] Expected b"['0', '33', '0']\n", got b"['']\n" stdout: ['']stderr: |
| osh | 8 $PWD [osh stdout] Expected b'/\n', got b'\n' stdout: stderr: Unexpected error in execvpe('cd', ['cd', '/'], ...): [Errno 2] No such file or directory: b'/home/andy/bin/cd'
|
| dash | 9 $RANDOM stdout: 0stderr: |
| osh | 9 $RANDOM [osh status] Expected 0, got 99 stdout: 7stderr: |