40 passed, 2 OK, 1 not implemented, 2 BUG, 17 failed, 0 timeouts, 0 cases skipped 17 failed under osh
bash | 3 comparison to ${!array[@]} keys (similar SYNTAX) stdout: ['0', '1'] a_keys=0 [''] a_nobrackets=0 --- ['A', 'B'] A_keys=0 [''] A_nobrackets=0stderr: |
osh | 3 comparison to ${!array[@]} keys (similar SYNTAX) [osh stdout] Expected "['0', '1']\na_keys=0\n['']\na_nobrackets=0\n---\n['A', 'B']\nA_keys=0\nA_nobrackets=1\n" Got '' [osh status] Expected 0, got 1 [osh stderr] Found 'Traceback (most recent' stdout: stderr: Traceback (most recent call last): File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module> sys.exit(main(sys.argv)) File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main return AppBundleMain(argv) File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain return shell.Main('osh', arg_r, environ, login_shell, loader, readline) File "/home/uke/oil/core/shell.py", line 1253, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2566, in EvalWordSequence2 self._EvalWordToParts(w, part_vals, EXTGLOB_FILES) File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1932, in _EvalWordPart self._EvalDoubleQuoted(part.parts, part_vals) File "/home/uke/oil/osh/word_eval.py", line 1453, in _EvalDoubleQuoted self._EvalWordPart(p, part_vals, QUOTED) File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart self._EvalBracedVarSub(part, part_vals, quoted) File "/home/uke/oil/osh/word_eval.py", line 1680, in _EvalBracedVarSub val = self._Keys(val, part.name_tok) File "/home/uke/oil/osh/word_eval.py", line 977, in _Keys mops.ToStr(i) for i in bash_impl.BashArray_GetKeys(val) NameError: global name 'bash_impl' is not defined |
osh | 4 ${!a[@]-'default'} is legal but fails with more than one element [osh stderr] Found 'Traceback (most recent' stdout: status=1 status=1stderr: ^ [ contents of var 'a' at line 1 of [ stdin ] ]:0: Expected var name (argv.py "${!a[@]-default}") ^ [ stdin ]:1: Invalid var ref expression Traceback (most recent call last): File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module> sys.exit(main(sys.argv)) File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main return AppBundleMain(argv) File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain return shell.Main('osh', arg_r, environ, login_shell, loader, readline) File "/home/uke/oil/core/shell.py", line 1253, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1892, in _Dispatch status = self.shell_ex.RunSubshell(node.child) File "/home/uke/oil/core/executor.py", line 595, in RunSubshell return p.RunProcess(self.waiter, trace.ForkWait) File "/home/uke/oil/core/process.py", line 1186, in RunProcess self.StartProcess(why) File "/home/uke/oil/core/process.py", line 1096, in StartProcess self.thunk.Run() File "/home/uke/oil/core/process.py", line 856, in Run cmd_eval.OptimizeSubshells | cmd_eval.MarkLastCommands) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2566, in EvalWordSequence2 self._EvalWordToParts(w, part_vals, EXTGLOB_FILES) File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1932, in _EvalWordPart self._EvalDoubleQuoted(part.parts, part_vals) File "/home/uke/oil/osh/word_eval.py", line 1453, in _EvalDoubleQuoted self._EvalWordPart(p, part_vals, QUOTED) File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart self._EvalBracedVarSub(part, part_vals, quoted) File "/home/uke/oil/osh/word_eval.py", line 1692, in _EvalBracedVarSub vsub_state, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1021, in _EvalVarRef var_ref_str = ' '.join(bash_impl.BashArray_GetValues(val)) NameError: global name 'bash_impl' is not defined |
osh | 5 var ref to $@ with @ [osh stdout] Expected 'ref=one two\n', got '' [osh status] Expected 0, got 1 [osh stderr] Found 'Traceback (most recent' stdout: stderr: Traceback (most recent call last): File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module> sys.exit(main(sys.argv)) File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main return AppBundleMain(argv) File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain return shell.Main('osh', arg_r, environ, login_shell, loader, readline) File "/home/uke/oil/core/shell.py", line 1253, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2566, in EvalWordSequence2 self._EvalWordToParts(w, part_vals, EXTGLOB_FILES) File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart self._EvalBracedVarSub(part, part_vals, quoted) File "/home/uke/oil/osh/word_eval.py", line 1750, in _EvalBracedVarSub part_val = _ValueToPartValue(val, quoted or quoted2, part) File "/home/uke/oil/osh/word_eval.py", line 231, in _ValueToPartValue bash_impl.InternalStringArray_GetValues(val), quoted) NameError: global name 'bash_impl' is not defined |
osh | 7 var ref: 1, @, * [osh stdout] Expected "['x']\n['x', 'y']\n['x y']\n", got "['x']\n" [osh status] Expected 0, got 1 [osh stderr] Found 'Traceback (most recent' stdout: ['x']stderr: Traceback (most recent call last): File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module> sys.exit(main(sys.argv)) File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main return AppBundleMain(argv) File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain return shell.Main('osh', arg_r, environ, login_shell, loader, readline) File "/home/uke/oil/core/shell.py", line 1253, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1812, in _Dispatch status = self._ExecuteList(node.children) File "/home/uke/oil/osh/cmd_eval.py", line 2051, in _ExecuteList status = self._Execute(child) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2566, in EvalWordSequence2 self._EvalWordToParts(w, part_vals, EXTGLOB_FILES) File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1932, in _EvalWordPart self._EvalDoubleQuoted(part.parts, part_vals) File "/home/uke/oil/osh/word_eval.py", line 1453, in _EvalDoubleQuoted self._EvalWordPart(p, part_vals, QUOTED) File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart self._EvalBracedVarSub(part, part_vals, quoted) File "/home/uke/oil/osh/word_eval.py", line 1750, in _EvalBracedVarSub part_val = _ValueToPartValue(val, quoted or quoted2, part) File "/home/uke/oil/osh/word_eval.py", line 231, in _ValueToPartValue bash_impl.InternalStringArray_GetValues(val), quoted) NameError: global name 'bash_impl' is not defined |
osh | 9 var ref to $? with '?' [osh stdout] Expected 'myfunc\n0\n', got '' [osh status] Expected 0, got 1 [osh stderr] Found 'Traceback (most recent' stdout: stderr: Traceback (most recent call last): File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module> sys.exit(main(sys.argv)) File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main return AppBundleMain(argv) File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain return shell.Main('osh', arg_r, environ, login_shell, loader, readline) File "/home/uke/oil/core/shell.py", line 1253, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 959, in _DoSimple status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags) File "/home/uke/oil/osh/cmd_eval.py", line 594, in _RunSimpleCommand run_flags) File "/home/uke/oil/core/vm.py", line 224, in RunSimpleCommand run_flags) File "/home/uke/oil/core/executor.py", line 420, in _RunSimpleCommand cmd_val) File "/home/uke/oil/core/vm.py", line 302, in _RunInvokable status = self.cmd_ev.RunProc(proc, cmd_val) File "/home/uke/oil/osh/cmd_eval.py", line 2389, in RunProc status = self._Execute(proc.body) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1820, in _Dispatch status = self._ExecuteList(node.children) File "/home/uke/oil/osh/cmd_eval.py", line 2051, in _ExecuteList status = self._Execute(child) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2566, in EvalWordSequence2 self._EvalWordToParts(w, part_vals, EXTGLOB_FILES) File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart self._EvalBracedVarSub(part, part_vals, quoted) File "/home/uke/oil/osh/word_eval.py", line 1692, in _EvalBracedVarSub vsub_state, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1037, in _EvalVarRef return self._VarRefValue(bvs_part, quoted, vsub_state, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1574, in _VarRefValue vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1537, in _EvalBracketOp val = DecayArray(val) File "/home/uke/oil/osh/word_eval.py", line 119, in DecayArray s, error_code = bash_impl.InternalStringArray_GetElement( NameError: global name 'bash_impl' is not defined |
osh | 12 Indirect expansion, THEN suffix operators [osh stdout] Expected 'ok\n', got '${!a[1]} -> expected xx, got \n${!b[1]} -> expected asdf, got \nok\n' [osh stderr] Found 'Traceback (most recent' stdout: ${!a[1]} -> expected xx, got ${!b[1]} -> expected asdf, got okstderr: Traceback (most recent call last): File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module> sys.exit(main(sys.argv)) File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main return AppBundleMain(argv) File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain return shell.Main('osh', arg_r, environ, login_shell, loader, readline) File "/home/uke/oil/core/shell.py", line 1253, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 959, in _DoSimple status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags) File "/home/uke/oil/osh/cmd_eval.py", line 594, in _RunSimpleCommand run_flags) File "/home/uke/oil/core/vm.py", line 224, in RunSimpleCommand run_flags) File "/home/uke/oil/core/executor.py", line 420, in _RunSimpleCommand cmd_val) File "/home/uke/oil/core/vm.py", line 302, in _RunInvokable status = self.cmd_ev.RunProc(proc, cmd_val) File "/home/uke/oil/osh/cmd_eval.py", line 2389, in RunProc status = self._Execute(proc.body) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1820, in _Dispatch status = self._ExecuteList(node.children) File "/home/uke/oil/osh/cmd_eval.py", line 2051, in _ExecuteList status = self._Execute(child) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1711, in _Dispatch status = self._DoShAssignment(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1028, in _DoShAssignment rhs = self.word_ev.EvalRhsWord(pair.rhs) File "/home/uke/oil/osh/word_eval.py", line 2253, in EvalRhsWord return self.EvalWordToString(w) File "/home/uke/oil/osh/word_eval.py", line 2162, in EvalWordToString self._EvalWordPart(p, part_vals, 0) File "/home/uke/oil/osh/word_eval.py", line 1940, in _EvalWordPart quoted) # type: part_value_t File "/home/uke/oil/osh/word_eval.py", line 2654, in _EvalCommandSub stdout_str = self.shell_ex.RunCommandSub(cs_part) File "/home/uke/oil/core/executor.py", line 671, in RunCommandSub status, stdout_str = self.CaptureStdout(node) File "/home/uke/oil/core/executor.py", line 608, in CaptureStdout p.StartProcess(trace.CommandSub) File "/home/uke/oil/core/process.py", line 1096, in StartProcess self.thunk.Run() File "/home/uke/oil/core/process.py", line 856, in Run cmd_eval.OptimizeSubshells | cmd_eval.MarkLastCommands) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 959, in _DoSimple status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags) File "/home/uke/oil/osh/cmd_eval.py", line 594, in _RunSimpleCommand run_flags) File "/home/uke/oil/core/vm.py", line 224, in RunSimpleCommand run_flags) File "/home/uke/oil/core/executor.py", line 407, in _RunSimpleCommand status = self.RunBuiltin(builtin_id, cmd_val) File "/home/uke/oil/core/vm.py", line 240, in RunBuiltin return self._RunBuiltinProc(builtin_proc, cmd_val) File "/home/uke/oil/core/vm.py", line 250, in _RunBuiltinProc status = builtin_proc.Run(cmd_val) File "/home/uke/oil/builtin/meta_oils.py", line 101, in Run cmd_flags=cmd_eval.RaiseControlFlow) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2566, in EvalWordSequence2 self._EvalWordToParts(w, part_vals, EXTGLOB_FILES) File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1932, in _EvalWordPart self._EvalDoubleQuoted(part.parts, part_vals) File "/home/uke/oil/osh/word_eval.py", line 1453, in _EvalDoubleQuoted self._EvalWordPart(p, part_vals, QUOTED) File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart self._EvalBracedVarSub(part, part_vals, quoted) File "/home/uke/oil/osh/word_eval.py", line 1661, in _EvalBracedVarSub val = self._EvalBracketOp(val, part, quoted, vsub_state, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1524, in _EvalBracketOp val = self._ArrayIndex(val, part, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1390, in _ArrayIndex s, error_code = bash_impl.BashArray_GetElement( NameError: global name 'bash_impl' is not defined Traceback (most recent call last): File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module> sys.exit(main(sys.argv)) File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main return AppBundleMain(argv) File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain return shell.Main('osh', arg_r, environ, login_shell, loader, readline) File "/home/uke/oil/core/shell.py", line 1253, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 959, in _DoSimple status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags) File "/home/uke/oil/osh/cmd_eval.py", line 594, in _RunSimpleCommand run_flags) File "/home/uke/oil/core/vm.py", line 224, in RunSimpleCommand run_flags) File "/home/uke/oil/core/executor.py", line 420, in _RunSimpleCommand cmd_val) File "/home/uke/oil/core/vm.py", line 302, in _RunInvokable status = self.cmd_ev.RunProc(proc, cmd_val) File "/home/uke/oil/osh/cmd_eval.py", line 2389, in RunProc status = self._Execute(proc.body) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1820, in _Dispatch status = self._ExecuteList(node.children) File "/home/uke/oil/osh/cmd_eval.py", line 2051, in _ExecuteList status = self._Execute(child) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1711, in _Dispatch status = self._DoShAssignment(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1028, in _DoShAssignment rhs = self.word_ev.EvalRhsWord(pair.rhs) File "/home/uke/oil/osh/word_eval.py", line 2253, in EvalRhsWord return self.EvalWordToString(w) File "/home/uke/oil/osh/word_eval.py", line 2162, in EvalWordToString self._EvalWordPart(p, part_vals, 0) File "/home/uke/oil/osh/word_eval.py", line 1940, in _EvalWordPart quoted) # type: part_value_t File "/home/uke/oil/osh/word_eval.py", line 2654, in _EvalCommandSub stdout_str = self.shell_ex.RunCommandSub(cs_part) File "/home/uke/oil/core/executor.py", line 671, in RunCommandSub status, stdout_str = self.CaptureStdout(node) File "/home/uke/oil/core/executor.py", line 608, in CaptureStdout p.StartProcess(trace.CommandSub) File "/home/uke/oil/core/process.py", line 1096, in StartProcess self.thunk.Run() File "/home/uke/oil/core/process.py", line 856, in Run cmd_eval.OptimizeSubshells | cmd_eval.MarkLastCommands) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 959, in _DoSimple status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags) File "/home/uke/oil/osh/cmd_eval.py", line 594, in _RunSimpleCommand run_flags) File "/home/uke/oil/core/vm.py", line 224, in RunSimpleCommand run_flags) File "/home/uke/oil/core/executor.py", line 407, in _RunSimpleCommand status = self.RunBuiltin(builtin_id, cmd_val) File "/home/uke/oil/core/vm.py", line 240, in RunBuiltin return self._RunBuiltinProc(builtin_proc, cmd_val) File "/home/uke/oil/core/vm.py", line 250, in _RunBuiltinProc status = builtin_proc.Run(cmd_val) File "/home/uke/oil/builtin/meta_oils.py", line 101, in Run cmd_flags=cmd_eval.RaiseControlFlow) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2566, in EvalWordSequence2 self._EvalWordToParts(w, part_vals, EXTGLOB_FILES) File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1932, in _EvalWordPart self._EvalDoubleQuoted(part.parts, part_vals) File "/home/uke/oil/osh/word_eval.py", line 1453, in _EvalDoubleQuoted self._EvalWordPart(p, part_vals, QUOTED) File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart self._EvalBracedVarSub(part, part_vals, quoted) File "/home/uke/oil/osh/word_eval.py", line 1661, in _EvalBracedVarSub val = self._EvalBracketOp(val, part, quoted, vsub_state, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1524, in _EvalBracketOp val = self._ArrayIndex(val, part, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1390, in _ArrayIndex s, error_code = bash_impl.BashArray_GetElement( NameError: global name 'bash_impl' is not defined |
osh | 13 var ref OF array var -- silent a[0] decay [osh stdout] Expected 'first=\nfirst=zzz\n', got '' [osh status] Expected 0, got 1 [osh stderr] Found 'Traceback (most recent' stdout: stderr: Traceback (most recent call last): File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module> sys.exit(main(sys.argv)) File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main return AppBundleMain(argv) File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain return shell.Main('osh', arg_r, environ, login_shell, loader, readline) File "/home/uke/oil/core/shell.py", line 1253, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2566, in EvalWordSequence2 self._EvalWordToParts(w, part_vals, EXTGLOB_FILES) File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart self._EvalBracedVarSub(part, part_vals, quoted) File "/home/uke/oil/osh/word_eval.py", line 1661, in _EvalBracedVarSub val = self._EvalBracketOp(val, part, quoted, vsub_state, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1537, in _EvalBracketOp val = DecayArray(val) File "/home/uke/oil/osh/word_eval.py", line 123, in DecayArray s, error_code = bash_impl.BashArray_GetElement( NameError: global name 'bash_impl' is not defined |
osh | 14 array ref [osh stdout] Expected 'ale\n', got '' [osh status] Expected 0, got 1 [osh stderr] Found 'Traceback (most recent' stdout: stderr: Traceback (most recent call last): File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module> sys.exit(main(sys.argv)) File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main return AppBundleMain(argv) File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain return shell.Main('osh', arg_r, environ, login_shell, loader, readline) File "/home/uke/oil/core/shell.py", line 1253, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2566, in EvalWordSequence2 self._EvalWordToParts(w, part_vals, EXTGLOB_FILES) File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart self._EvalBracedVarSub(part, part_vals, quoted) File "/home/uke/oil/osh/word_eval.py", line 1692, in _EvalBracedVarSub vsub_state, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1037, in _EvalVarRef return self._VarRefValue(bvs_part, quoted, vsub_state, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1574, in _VarRefValue vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1524, in _EvalBracketOp val = self._ArrayIndex(val, part, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1390, in _ArrayIndex s, error_code = bash_impl.BashArray_GetElement( NameError: global name 'bash_impl' is not defined |
bash | 15 array ref with strict_array stdout: alestderr: bash: line 1: shopt: strict_array: invalid shell option name |
osh | 16 var ref TO array var [osh stdout] Expected 'ale\nale bean\n', got '' [osh status] Expected 0, got 1 [osh stderr] Found 'Traceback (most recent' stdout: stderr: shopt -s compat_array ^~~~~ [ stdin ]:1: 'shopt' got invalid option 'compat_array' Traceback (most recent call last): File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module> sys.exit(main(sys.argv)) File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main return AppBundleMain(argv) File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain return shell.Main('osh', arg_r, environ, login_shell, loader, readline) File "/home/uke/oil/core/shell.py", line 1253, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2566, in EvalWordSequence2 self._EvalWordToParts(w, part_vals, EXTGLOB_FILES) File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart self._EvalBracedVarSub(part, part_vals, quoted) File "/home/uke/oil/osh/word_eval.py", line 1692, in _EvalBracedVarSub vsub_state, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1037, in _EvalVarRef return self._VarRefValue(bvs_part, quoted, vsub_state, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1574, in _VarRefValue vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1537, in _EvalBracketOp val = DecayArray(val) File "/home/uke/oil/osh/word_eval.py", line 123, in DecayArray s, error_code = bash_impl.BashArray_GetElement( NameError: global name 'bash_impl' is not defined |
osh | 17 var ref TO array var, with subscripts [osh stdout] Expected "['']\n['x']\n['z']\n['x', 'y', 'z']\n['x y z']\n" Got "['']\n" [osh status] Expected 0, got 1 [osh stderr] Found 'Traceback (most recent' stdout: ['']stderr: Traceback (most recent call last): File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module> sys.exit(main(sys.argv)) File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main return AppBundleMain(argv) File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain return shell.Main('osh', arg_r, environ, login_shell, loader, readline) File "/home/uke/oil/core/shell.py", line 1253, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 959, in _DoSimple status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags) File "/home/uke/oil/osh/cmd_eval.py", line 594, in _RunSimpleCommand run_flags) File "/home/uke/oil/core/vm.py", line 224, in RunSimpleCommand run_flags) File "/home/uke/oil/core/executor.py", line 420, in _RunSimpleCommand cmd_val) File "/home/uke/oil/core/vm.py", line 302, in _RunInvokable status = self.cmd_ev.RunProc(proc, cmd_val) File "/home/uke/oil/osh/cmd_eval.py", line 2389, in RunProc status = self._Execute(proc.body) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1820, in _Dispatch status = self._ExecuteList(node.children) File "/home/uke/oil/osh/cmd_eval.py", line 2051, in _ExecuteList status = self._Execute(child) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2566, in EvalWordSequence2 self._EvalWordToParts(w, part_vals, EXTGLOB_FILES) File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1932, in _EvalWordPart self._EvalDoubleQuoted(part.parts, part_vals) File "/home/uke/oil/osh/word_eval.py", line 1453, in _EvalDoubleQuoted self._EvalWordPart(p, part_vals, QUOTED) File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart self._EvalBracedVarSub(part, part_vals, quoted) File "/home/uke/oil/osh/word_eval.py", line 1692, in _EvalBracedVarSub vsub_state, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1037, in _EvalVarRef return self._VarRefValue(bvs_part, quoted, vsub_state, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1574, in _VarRefValue vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1524, in _EvalBracketOp val = self._ArrayIndex(val, part, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1390, in _ArrayIndex s, error_code = bash_impl.BashArray_GetElement( NameError: global name 'bash_impl' is not defined |
osh | 18 var ref TO assoc array a[key] [osh stdout] Expected 'ref=\nref_SUB=bean\nref_SUB_QUOTED=bean\nref_SUB_BAD=\n' Got '' [osh status] Expected 0, got 1 [osh stderr] Found 'Traceback (most recent' stdout: stderr: shopt -s compat_array ^~~~~ [ stdin ]:1: 'shopt' got invalid option 'compat_array' Traceback (most recent call last): File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module> sys.exit(main(sys.argv)) File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main return AppBundleMain(argv) File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain return shell.Main('osh', arg_r, environ, login_shell, loader, readline) File "/home/uke/oil/core/shell.py", line 1253, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2566, in EvalWordSequence2 self._EvalWordToParts(w, part_vals, EXTGLOB_FILES) File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart self._EvalBracedVarSub(part, part_vals, quoted) File "/home/uke/oil/osh/word_eval.py", line 1692, in _EvalBracedVarSub vsub_state, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1037, in _EvalVarRef return self._VarRefValue(bvs_part, quoted, vsub_state, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1574, in _VarRefValue vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1537, in _EvalBracketOp val = DecayArray(val) File "/home/uke/oil/osh/word_eval.py", line 133, in DecayArray s = bash_impl.BashAssoc_GetElement(assoc_val, '0') NameError: global name 'bash_impl' is not defined |
osh | 19 var ref TO array with arbitrary subscripts [osh stdout] Expected 'works: a[1]\nworks: a[$b]\nworks: a[${c:-1}]\nworks: a[$(echo 1)]\nworks: a[$(( 3 - 2 ))]\n' Got '' [osh stderr] Found 'Traceback (most recent' stdout: stderr: shopt -s eval_unsafe_arith compat_array ^~~~~ [ stdin ]:1: 'shopt' got invalid option 'compat_array' Traceback (most recent call last): File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module> sys.exit(main(sys.argv)) File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main return AppBundleMain(argv) File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain return shell.Main('osh', arg_r, environ, login_shell, loader, readline) File "/home/uke/oil/core/shell.py", line 1253, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 959, in _DoSimple status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags) File "/home/uke/oil/osh/cmd_eval.py", line 594, in _RunSimpleCommand run_flags) File "/home/uke/oil/core/vm.py", line 224, in RunSimpleCommand run_flags) File "/home/uke/oil/core/executor.py", line 420, in _RunSimpleCommand cmd_val) File "/home/uke/oil/core/vm.py", line 302, in _RunInvokable status = self.cmd_ev.RunProc(proc, cmd_val) File "/home/uke/oil/osh/cmd_eval.py", line 2389, in RunProc status = self._Execute(proc.body) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1820, in _Dispatch status = self._ExecuteList(node.children) File "/home/uke/oil/osh/cmd_eval.py", line 2051, in _ExecuteList status = self._Execute(child) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2553, in EvalWordSequence2 fast_str, words, meta_offset) File "/home/uke/oil/osh/word_eval.py", line 2433, in _DetectAssignBuiltinStr meta_offset) File "/home/uke/oil/osh/word_eval.py", line 2394, in _EvalAssignBuiltin right = self.EvalRhsWord(rhs) File "/home/uke/oil/osh/word_eval.py", line 2253, in EvalRhsWord return self.EvalWordToString(w) File "/home/uke/oil/osh/word_eval.py", line 2162, in EvalWordToString self._EvalWordPart(p, part_vals, 0) File "/home/uke/oil/osh/word_eval.py", line 1940, in _EvalWordPart quoted) # type: part_value_t File "/home/uke/oil/osh/word_eval.py", line 2654, in _EvalCommandSub stdout_str = self.shell_ex.RunCommandSub(cs_part) File "/home/uke/oil/core/executor.py", line 671, in RunCommandSub status, stdout_str = self.CaptureStdout(node) File "/home/uke/oil/core/executor.py", line 608, in CaptureStdout p.StartProcess(trace.CommandSub) File "/home/uke/oil/core/process.py", line 1096, in StartProcess self.thunk.Run() File "/home/uke/oil/core/process.py", line 856, in Run cmd_eval.OptimizeSubshells | cmd_eval.MarkLastCommands) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2566, in EvalWordSequence2 self._EvalWordToParts(w, part_vals, EXTGLOB_FILES) File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1932, in _EvalWordPart self._EvalDoubleQuoted(part.parts, part_vals) File "/home/uke/oil/osh/word_eval.py", line 1453, in _EvalDoubleQuoted self._EvalWordPart(p, part_vals, QUOTED) File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart self._EvalBracedVarSub(part, part_vals, quoted) File "/home/uke/oil/osh/word_eval.py", line 1692, in _EvalBracedVarSub vsub_state, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1037, in _EvalVarRef return self._VarRefValue(bvs_part, quoted, vsub_state, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1569, in _VarRefValue vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1524, in _EvalBracketOp val = self._ArrayIndex(val, part, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1390, in _ArrayIndex s, error_code = bash_impl.BashArray_GetElement( NameError: global name 'bash_impl' is not defined a[{1,0}] ^ [ contents of var '1' at line 4 of [ stdin ] ]:1: Unexpected token while parsing arithmetic: '{' local val=$(echo "${!1}") ^ [ stdin ]:4: Invalid var ref expression a[<(echo x)] ^ [ contents of var '1' at line 4 of [ stdin ] ]:1: Token can't be used in prefix position local val=$(echo "${!1}") ^ [ stdin ]:4: Invalid var ref expression a[$aa] ^~~ [ contents of var '1' at line 4 of [ stdin ] ]:1: fatal: Invalid integer constant '1 0' a[b*] ^ [ contents of var '1' at line 4 of [ stdin ] ]:1: Token can't be used in prefix position local val=$(echo "${!1}") ^ [ stdin ]:4: Invalid var ref expression a[1"] ^ [ contents of var '1' at line 4 of [ stdin ] ]:1: Unexpected EOF reading double-quoted string that began here local val=$(echo "${!1}") ^ [ stdin ]:4: Invalid var ref expression Traceback (most recent call last): File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module> sys.exit(main(sys.argv)) File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main return AppBundleMain(argv) File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain return shell.Main('osh', arg_r, environ, login_shell, loader, readline) File "/home/uke/oil/core/shell.py", line 1253, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 959, in _DoSimple status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags) File "/home/uke/oil/osh/cmd_eval.py", line 594, in _RunSimpleCommand run_flags) File "/home/uke/oil/core/vm.py", line 224, in RunSimpleCommand run_flags) File "/home/uke/oil/core/executor.py", line 420, in _RunSimpleCommand cmd_val) File "/home/uke/oil/core/vm.py", line 302, in _RunInvokable status = self.cmd_ev.RunProc(proc, cmd_val) File "/home/uke/oil/osh/cmd_eval.py", line 2389, in RunProc status = self._Execute(proc.body) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1820, in _Dispatch status = self._ExecuteList(node.children) File "/home/uke/oil/osh/cmd_eval.py", line 2051, in _ExecuteList status = self._Execute(child) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2553, in EvalWordSequence2 fast_str, words, meta_offset) File "/home/uke/oil/osh/word_eval.py", line 2433, in _DetectAssignBuiltinStr meta_offset) File "/home/uke/oil/osh/word_eval.py", line 2394, in _EvalAssignBuiltin right = self.EvalRhsWord(rhs) File "/home/uke/oil/osh/word_eval.py", line 2253, in EvalRhsWord return self.EvalWordToString(w) File "/home/uke/oil/osh/word_eval.py", line 2162, in EvalWordToString self._EvalWordPart(p, part_vals, 0) File "/home/uke/oil/osh/word_eval.py", line 1940, in _EvalWordPart quoted) # type: part_value_t File "/home/uke/oil/osh/word_eval.py", line 2654, in _EvalCommandSub stdout_str = self.shell_ex.RunCommandSub(cs_part) File "/home/uke/oil/core/executor.py", line 671, in RunCommandSub status, stdout_str = self.CaptureStdout(node) File "/home/uke/oil/core/executor.py", line 608, in CaptureStdout p.StartProcess(trace.CommandSub) File "/home/uke/oil/core/process.py", line 1096, in StartProcess self.thunk.Run() File "/home/uke/oil/core/process.py", line 856, in Run cmd_eval.OptimizeSubshells | cmd_eval.MarkLastCommands) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2566, in EvalWordSequence2 self._EvalWordToParts(w, part_vals, EXTGLOB_FILES) File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1932, in _EvalWordPart self._EvalDoubleQuoted(part.parts, part_vals) File "/home/uke/oil/osh/word_eval.py", line 1453, in _EvalDoubleQuoted self._EvalWordPart(p, part_vals, QUOTED) File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart self._EvalBracedVarSub(part, part_vals, quoted) File "/home/uke/oil/osh/word_eval.py", line 1692, in _EvalBracedVarSub vsub_state, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1037, in _EvalVarRef return self._VarRefValue(bvs_part, quoted, vsub_state, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1569, in _VarRefValue vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1524, in _EvalBracketOp val = self._ArrayIndex(val, part, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1390, in _ArrayIndex s, error_code = bash_impl.BashArray_GetElement( NameError: global name 'bash_impl' is not defined Traceback (most recent call last): File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module> sys.exit(main(sys.argv)) File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main return AppBundleMain(argv) File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain return shell.Main('osh', arg_r, environ, login_shell, loader, readline) File "/home/uke/oil/core/shell.py", line 1253, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 959, in _DoSimple status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags) File "/home/uke/oil/osh/cmd_eval.py", line 594, in _RunSimpleCommand run_flags) File "/home/uke/oil/core/vm.py", line 224, in RunSimpleCommand run_flags) File "/home/uke/oil/core/executor.py", line 420, in _RunSimpleCommand cmd_val) File "/home/uke/oil/core/vm.py", line 302, in _RunInvokable status = self.cmd_ev.RunProc(proc, cmd_val) File "/home/uke/oil/osh/cmd_eval.py", line 2389, in RunProc status = self._Execute(proc.body) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1820, in _Dispatch status = self._ExecuteList(node.children) File "/home/uke/oil/osh/cmd_eval.py", line 2051, in _ExecuteList status = self._Execute(child) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2553, in EvalWordSequence2 fast_str, words, meta_offset) File "/home/uke/oil/osh/word_eval.py", line 2433, in _DetectAssignBuiltinStr meta_offset) File "/home/uke/oil/osh/word_eval.py", line 2394, in _EvalAssignBuiltin right = self.EvalRhsWord(rhs) File "/home/uke/oil/osh/word_eval.py", line 2253, in EvalRhsWord return self.EvalWordToString(w) File "/home/uke/oil/osh/word_eval.py", line 2162, in EvalWordToString self._EvalWordPart(p, part_vals, 0) File "/home/uke/oil/osh/word_eval.py", line 1940, in _EvalWordPart quoted) # type: part_value_t File "/home/uke/oil/osh/word_eval.py", line 2654, in _EvalCommandSub stdout_str = self.shell_ex.RunCommandSub(cs_part) File "/home/uke/oil/core/executor.py", line 671, in RunCommandSub status, stdout_str = self.CaptureStdout(node) File "/home/uke/oil/core/executor.py", line 608, in CaptureStdout p.StartProcess(trace.CommandSub) File "/home/uke/oil/core/process.py", line 1096, in StartProcess self.thunk.Run() File "/home/uke/oil/core/process.py", line 856, in Run cmd_eval.OptimizeSubshells | cmd_eval.MarkLastCommands) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2566, in EvalWordSequence2 self._EvalWordToParts(w, part_vals, EXTGLOB_FILES) File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1932, in _EvalWordPart self._EvalDoubleQuoted(part.parts, part_vals) File "/home/uke/oil/osh/word_eval.py", line 1453, in _EvalDoubleQuoted self._EvalWordPart(p, part_vals, QUOTED) File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart self._EvalBracedVarSub(part, part_vals, quoted) File "/home/uke/oil/osh/word_eval.py", line 1692, in _EvalBracedVarSub vsub_state, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1037, in _EvalVarRef return self._VarRefValue(bvs_part, quoted, vsub_state, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1569, in _VarRefValue vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1524, in _EvalBracketOp val = self._ArrayIndex(val, part, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1390, in _ArrayIndex s, error_code = bash_impl.BashArray_GetElement( NameError: global name 'bash_impl' is not defined Traceback (most recent call last): File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module> sys.exit(main(sys.argv)) File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main return AppBundleMain(argv) File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain return shell.Main('osh', arg_r, environ, login_shell, loader, readline) File "/home/uke/oil/core/shell.py", line 1253, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 959, in _DoSimple status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags) File "/home/uke/oil/osh/cmd_eval.py", line 594, in _RunSimpleCommand run_flags) File "/home/uke/oil/core/vm.py", line 224, in RunSimpleCommand run_flags) File "/home/uke/oil/core/executor.py", line 420, in _RunSimpleCommand cmd_val) File "/home/uke/oil/core/vm.py", line 302, in _RunInvokable status = self.cmd_ev.RunProc(proc, cmd_val) File "/home/uke/oil/osh/cmd_eval.py", line 2389, in RunProc status = self._Execute(proc.body) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1820, in _Dispatch status = self._ExecuteList(node.children) File "/home/uke/oil/osh/cmd_eval.py", line 2051, in _ExecuteList status = self._Execute(child) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2553, in EvalWordSequence2 fast_str, words, meta_offset) File "/home/uke/oil/osh/word_eval.py", line 2433, in _DetectAssignBuiltinStr meta_offset) File "/home/uke/oil/osh/word_eval.py", line 2394, in _EvalAssignBuiltin right = self.EvalRhsWord(rhs) File "/home/uke/oil/osh/word_eval.py", line 2253, in EvalRhsWord return self.EvalWordToString(w) File "/home/uke/oil/osh/word_eval.py", line 2162, in EvalWordToString self._EvalWordPart(p, part_vals, 0) File "/home/uke/oil/osh/word_eval.py", line 1940, in _EvalWordPart quoted) # type: part_value_t File "/home/uke/oil/osh/word_eval.py", line 2654, in _EvalCommandSub stdout_str = self.shell_ex.RunCommandSub(cs_part) File "/home/uke/oil/core/executor.py", line 671, in RunCommandSub status, stdout_str = self.CaptureStdout(node) File "/home/uke/oil/core/executor.py", line 608, in CaptureStdout p.StartProcess(trace.CommandSub) File "/home/uke/oil/core/process.py", line 1096, in StartProcess self.thunk.Run() File "/home/uke/oil/core/process.py", line 856, in Run cmd_eval.OptimizeSubshells | cmd_eval.MarkLastCommands) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2566, in EvalWordSequence2 self._EvalWordToParts(w, part_vals, EXTGLOB_FILES) File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1932, in _EvalWordPart self._EvalDoubleQuoted(part.parts, part_vals) File "/home/uke/oil/osh/word_eval.py", line 1453, in _EvalDoubleQuoted self._EvalWordPart(p, part_vals, QUOTED) File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart self._EvalBracedVarSub(part, part_vals, quoted) File "/home/uke/oil/osh/word_eval.py", line 1692, in _EvalBracedVarSub vsub_state, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1037, in _EvalVarRef return self._VarRefValue(bvs_part, quoted, vsub_state, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1569, in _VarRefValue vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1524, in _EvalBracketOp val = self._ArrayIndex(val, part, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1390, in _ArrayIndex s, error_code = bash_impl.BashArray_GetElement( NameError: global name 'bash_impl' is not defined Traceback (most recent call last): File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module> sys.exit(main(sys.argv)) File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main return AppBundleMain(argv) File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain return shell.Main('osh', arg_r, environ, login_shell, loader, readline) File "/home/uke/oil/core/shell.py", line 1253, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 959, in _DoSimple status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags) File "/home/uke/oil/osh/cmd_eval.py", line 594, in _RunSimpleCommand run_flags) File "/home/uke/oil/core/vm.py", line 224, in RunSimpleCommand run_flags) File "/home/uke/oil/core/executor.py", line 420, in _RunSimpleCommand cmd_val) File "/home/uke/oil/core/vm.py", line 302, in _RunInvokable status = self.cmd_ev.RunProc(proc, cmd_val) File "/home/uke/oil/osh/cmd_eval.py", line 2389, in RunProc status = self._Execute(proc.body) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1820, in _Dispatch status = self._ExecuteList(node.children) File "/home/uke/oil/osh/cmd_eval.py", line 2051, in _ExecuteList status = self._Execute(child) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2553, in EvalWordSequence2 fast_str, words, meta_offset) File "/home/uke/oil/osh/word_eval.py", line 2433, in _DetectAssignBuiltinStr meta_offset) File "/home/uke/oil/osh/word_eval.py", line 2394, in _EvalAssignBuiltin right = self.EvalRhsWord(rhs) File "/home/uke/oil/osh/word_eval.py", line 2253, in EvalRhsWord return self.EvalWordToString(w) File "/home/uke/oil/osh/word_eval.py", line 2162, in EvalWordToString self._EvalWordPart(p, part_vals, 0) File "/home/uke/oil/osh/word_eval.py", line 1940, in _EvalWordPart quoted) # type: part_value_t File "/home/uke/oil/osh/word_eval.py", line 2654, in _EvalCommandSub stdout_str = self.shell_ex.RunCommandSub(cs_part) File "/home/uke/oil/core/executor.py", line 671, in RunCommandSub status, stdout_str = self.CaptureStdout(node) File "/home/uke/oil/core/executor.py", line 608, in CaptureStdout p.StartProcess(trace.CommandSub) File "/home/uke/oil/core/process.py", line 1096, in StartProcess self.thunk.Run() File "/home/uke/oil/core/process.py", line 856, in Run cmd_eval.OptimizeSubshells | cmd_eval.MarkLastCommands) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2566, in EvalWordSequence2 self._EvalWordToParts(w, part_vals, EXTGLOB_FILES) File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1932, in _EvalWordPart self._EvalDoubleQuoted(part.parts, part_vals) File "/home/uke/oil/osh/word_eval.py", line 1453, in _EvalDoubleQuoted self._EvalWordPart(p, part_vals, QUOTED) File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart self._EvalBracedVarSub(part, part_vals, quoted) File "/home/uke/oil/osh/word_eval.py", line 1692, in _EvalBracedVarSub vsub_state, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1037, in _EvalVarRef return self._VarRefValue(bvs_part, quoted, vsub_state, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1569, in _VarRefValue vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1524, in _EvalBracketOp val = self._ArrayIndex(val, part, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1390, in _ArrayIndex s, error_code = bash_impl.BashArray_GetElement( NameError: global name 'bash_impl' is not defined |
osh | 21 Indirect expansion TO fancy expansion features bash disallows [osh stdout] Expected 'done\n', got '!a[0] \ndone\n' [osh stderr] Found 'Traceback (most recent' stdout: !a[0] donestderr: a[0 ^ [ contents of var '1' at line 2 of [ stdin ] ]:1: Unexpected token after arithmetic expression (Id.Eof_Real != Id.Arith_RBracket) result="${!1}" ^ [ stdin ]:2: Invalid var ref expression echo "${a[0}" ^ [ eval arg at line 3 of [ stdin ] ]:1 desugared_result=$(eval 'echo "${'"$1"'}"') ^~~~ [ stdin ]:3: Unexpected token after arithmetic expression (Id.Arith_RBrace != Id.Arith_RBracket) aa[k ^ [ contents of var '1' at line 2 of [ stdin ] ]:1: Unexpected token after arithmetic expression (Id.Eof_Real != Id.Arith_RBracket) result="${!1}" ^ [ stdin ]:2: Invalid var ref expression echo "${aa[k}" ^ [ eval arg at line 3 of [ stdin ] ]:1 desugared_result=$(eval 'echo "${'"$1"'}"') ^~~~ [ stdin ]:3: Unexpected token after arithmetic expression (Id.Arith_RBrace != Id.Arith_RBracket) !x ^ [ contents of var '1' at line 2 of [ stdin ] ]:1: Expected end of var ref expression result="${!1}" ^ [ stdin ]:2: Invalid var ref expression !a[0] ^ [ contents of var '1' at line 2 of [ stdin ] ]:1: Expected end of var ref expression result="${!1}" ^ [ stdin ]:2: Invalid var ref expression Traceback (most recent call last): File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module> sys.exit(main(sys.argv)) File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main return AppBundleMain(argv) File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain return shell.Main('osh', arg_r, environ, login_shell, loader, readline) File "/home/uke/oil/core/shell.py", line 1253, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 959, in _DoSimple status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags) File "/home/uke/oil/osh/cmd_eval.py", line 594, in _RunSimpleCommand run_flags) File "/home/uke/oil/core/vm.py", line 224, in RunSimpleCommand run_flags) File "/home/uke/oil/core/executor.py", line 420, in _RunSimpleCommand cmd_val) File "/home/uke/oil/core/vm.py", line 302, in _RunInvokable status = self.cmd_ev.RunProc(proc, cmd_val) File "/home/uke/oil/osh/cmd_eval.py", line 2389, in RunProc status = self._Execute(proc.body) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1820, in _Dispatch status = self._ExecuteList(node.children) File "/home/uke/oil/osh/cmd_eval.py", line 2051, in _ExecuteList status = self._Execute(child) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1711, in _Dispatch status = self._DoShAssignment(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1028, in _DoShAssignment rhs = self.word_ev.EvalRhsWord(pair.rhs) File "/home/uke/oil/osh/word_eval.py", line 2253, in EvalRhsWord return self.EvalWordToString(w) File "/home/uke/oil/osh/word_eval.py", line 2162, in EvalWordToString self._EvalWordPart(p, part_vals, 0) File "/home/uke/oil/osh/word_eval.py", line 1940, in _EvalWordPart quoted) # type: part_value_t File "/home/uke/oil/osh/word_eval.py", line 2654, in _EvalCommandSub stdout_str = self.shell_ex.RunCommandSub(cs_part) File "/home/uke/oil/core/executor.py", line 671, in RunCommandSub status, stdout_str = self.CaptureStdout(node) File "/home/uke/oil/core/executor.py", line 608, in CaptureStdout p.StartProcess(trace.CommandSub) File "/home/uke/oil/core/process.py", line 1096, in StartProcess self.thunk.Run() File "/home/uke/oil/core/process.py", line 856, in Run cmd_eval.OptimizeSubshells | cmd_eval.MarkLastCommands) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 959, in _DoSimple status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags) File "/home/uke/oil/osh/cmd_eval.py", line 594, in _RunSimpleCommand run_flags) File "/home/uke/oil/core/vm.py", line 224, in RunSimpleCommand run_flags) File "/home/uke/oil/core/executor.py", line 407, in _RunSimpleCommand status = self.RunBuiltin(builtin_id, cmd_val) File "/home/uke/oil/core/vm.py", line 240, in RunBuiltin return self._RunBuiltinProc(builtin_proc, cmd_val) File "/home/uke/oil/core/vm.py", line 250, in _RunBuiltinProc status = builtin_proc.Run(cmd_val) File "/home/uke/oil/builtin/meta_oils.py", line 101, in Run cmd_flags=cmd_eval.RaiseControlFlow) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2566, in EvalWordSequence2 self._EvalWordToParts(w, part_vals, EXTGLOB_FILES) File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1932, in _EvalWordPart self._EvalDoubleQuoted(part.parts, part_vals) File "/home/uke/oil/osh/word_eval.py", line 1453, in _EvalDoubleQuoted self._EvalWordPart(p, part_vals, QUOTED) File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart self._EvalBracedVarSub(part, part_vals, quoted) File "/home/uke/oil/osh/word_eval.py", line 1661, in _EvalBracedVarSub val = self._EvalBracketOp(val, part, quoted, vsub_state, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1524, in _EvalBracketOp val = self._ArrayIndex(val, part, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1390, in _ArrayIndex s, error_code = bash_impl.BashArray_GetElement( NameError: global name 'bash_impl' is not defined x:-foo ^~ [ contents of var '1' at line 2 of [ stdin ] ]:1: Expected end of var ref expression result="${!1}" ^ [ stdin ]:2: Invalid var ref expression x:=foo ^~ [ contents of var '1' at line 2 of [ stdin ] ]:1: Expected end of var ref expression result="${!1}" ^ [ stdin ]:2: Invalid var ref expression x:?oops ^~ [ contents of var '1' at line 2 of [ stdin ] ]:1: Expected end of var ref expression result="${!1}" ^ [ stdin ]:2: Invalid var ref expression x:+yy ^~ [ contents of var '1' at line 2 of [ stdin ] ]:1: Expected end of var ref expression result="${!1}" ^ [ stdin ]:2: Invalid var ref expression x:0 ^ [ contents of var '1' at line 2 of [ stdin ] ]:1: Expected end of var ref expression result="${!1}" ^ [ stdin ]:2: Invalid var ref expression x:0:1 ^ [ contents of var '1' at line 2 of [ stdin ] ]:1: Expected end of var ref expression result="${!1}" ^ [ stdin ]:2: Invalid var ref expression !a@ ^ [ contents of var '1' at line 2 of [ stdin ] ]:1: Expected end of var ref expression result="${!1}" ^ [ stdin ]:2: Invalid var ref expression #x ^ [ contents of var '1' at line 2 of [ stdin ] ]:1: Expected end of var ref expression result="${!1}" ^ [ stdin ]:2: Invalid var ref expression x#y ^ [ contents of var '1' at line 2 of [ stdin ] ]:1: Expected end of var ref expression result="${!1}" ^ [ stdin ]:2: Invalid var ref expression x/y/foo ^ [ contents of var '1' at line 2 of [ stdin ] ]:1: Expected end of var ref expression result="${!1}" ^ [ stdin ]:2: Invalid var ref expression x@Q ^~ [ contents of var '1' at line 2 of [ stdin ] ]:1: Expected end of var ref expression result="${!1}" ^ [ stdin ]:2: Invalid var ref expression |
bash | 25 var ref doesn't need cycle detection stdout: cycle=x cycle=stderr: bash: line 7: warning: a: circular name reference |
bash | 26 Var Ref Code Injection $(tee PWNED) stdout: 42 PWNED 0stderr: |
osh | 27 ${!array_ref:-set} and ${!array_ref:=assign} [osh stdout] Expected "==== check ====\n['', '', '']\n['', '', '']\n==== assign ====\n['', '', '']\n['', '', '']\n['', '', '']\n['', '', '']\n" Got '==== check ====\n' [osh status] Expected 0, got 1 [osh stderr] Found 'Traceback (most recent' stdout: ==== check ====stderr: Traceback (most recent call last): File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module> sys.exit(main(sys.argv)) File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main return AppBundleMain(argv) File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain return shell.Main('osh', arg_r, environ, login_shell, loader, readline) File "/home/uke/oil/core/shell.py", line 1253, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2566, in EvalWordSequence2 self._EvalWordToParts(w, part_vals, EXTGLOB_FILES) File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1932, in _EvalWordPart self._EvalDoubleQuoted(part.parts, part_vals) File "/home/uke/oil/osh/word_eval.py", line 1453, in _EvalDoubleQuoted self._EvalWordPart(p, part_vals, QUOTED) File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart self._EvalBracedVarSub(part, part_vals, quoted) File "/home/uke/oil/osh/word_eval.py", line 1715, in _EvalBracedVarSub vsub_state): File "/home/uke/oil/osh/word_eval.py", line 769, in _ApplyTestOp strs = bash_impl.BashArray_GetValues(val) NameError: global name 'bash_impl' is not defined |
osh | 28 Array indirect expansion with suffix operators [osh stdout] Expected "==== v1 ====\n['lue']\n['al']\n['value']\n['set']\n['value']\nv1=value\n==== v2 ====\n['']\n['']\n['empty']\n['']\n['assign']\nv2=assign\n==== a1 ====\n['']\n['']\n['empty']\n['']\n['assign']\n['assign']\n==== a2[0] ====\n['ement']\n['le']\n['element']\n['set']\n['element']\n['element']\n==== a3[@] ====\n['3']\n['2', '3']\n['1', '2', '3']\n['set']\n['1', '2', '3']\n['1', '2', '3']\n" Got '==== v1 ====\n' [osh status] Expected 0, got 1 [osh stderr] Found 'Traceback (most recent' stdout: ==== v1 ====stderr: Traceback (most recent call last): File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module> sys.exit(main(sys.argv)) File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main return AppBundleMain(argv) File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain return shell.Main('osh', arg_r, environ, login_shell, loader, readline) File "/home/uke/oil/core/shell.py", line 1253, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 959, in _DoSimple status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags) File "/home/uke/oil/osh/cmd_eval.py", line 594, in _RunSimpleCommand run_flags) File "/home/uke/oil/core/vm.py", line 224, in RunSimpleCommand run_flags) File "/home/uke/oil/core/executor.py", line 420, in _RunSimpleCommand cmd_val) File "/home/uke/oil/core/vm.py", line 302, in _RunInvokable status = self.cmd_ev.RunProc(proc, cmd_val) File "/home/uke/oil/osh/cmd_eval.py", line 2389, in RunProc status = self._Execute(proc.body) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1820, in _Dispatch status = self._ExecuteList(node.children) File "/home/uke/oil/osh/cmd_eval.py", line 2051, in _ExecuteList status = self._Execute(child) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2566, in EvalWordSequence2 self._EvalWordToParts(w, part_vals, EXTGLOB_FILES) File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1932, in _EvalWordPart self._EvalDoubleQuoted(part.parts, part_vals) File "/home/uke/oil/osh/word_eval.py", line 1453, in _EvalDoubleQuoted self._EvalWordPart(p, part_vals, QUOTED) File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart self._EvalBracedVarSub(part, part_vals, quoted) File "/home/uke/oil/osh/word_eval.py", line 1692, in _EvalBracedVarSub vsub_state, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1025, in _EvalVarRef var_ref_str = ' '.join(bash_impl.BashAssoc_GetValues(val)) NameError: global name 'bash_impl' is not defined |
osh | 29 Array indirect expansion with replacements [osh stdout] Expected "==== v1 ====\n['alue']\n['valu']\n['vlu']\n['vxlux']\n==== v2 ====\n['']\n['']\n['']\n['']\n==== a1 ====\n['']\n['']\n['']\n['']\n==== a2[0] ====\n['lement']\n['elemen']\n['lmnt']\n['xlxmxnt']\n==== a3[@] ====\n['', '', '']\n['', '', '']\n['1', '2', '3']\n['1', '2', '3']\n" Got '==== v1 ====\n' [osh status] Expected 0, got 1 [osh stderr] Found 'Traceback (most recent' stdout: ==== v1 ====stderr: Traceback (most recent call last): File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module> sys.exit(main(sys.argv)) File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main return AppBundleMain(argv) File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain return shell.Main('osh', arg_r, environ, login_shell, loader, readline) File "/home/uke/oil/core/shell.py", line 1253, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 959, in _DoSimple status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags) File "/home/uke/oil/osh/cmd_eval.py", line 594, in _RunSimpleCommand run_flags) File "/home/uke/oil/core/vm.py", line 224, in RunSimpleCommand run_flags) File "/home/uke/oil/core/executor.py", line 420, in _RunSimpleCommand cmd_val) File "/home/uke/oil/core/vm.py", line 302, in _RunInvokable status = self.cmd_ev.RunProc(proc, cmd_val) File "/home/uke/oil/osh/cmd_eval.py", line 2389, in RunProc status = self._Execute(proc.body) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1820, in _Dispatch status = self._ExecuteList(node.children) File "/home/uke/oil/osh/cmd_eval.py", line 2051, in _ExecuteList status = self._Execute(child) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2566, in EvalWordSequence2 self._EvalWordToParts(w, part_vals, EXTGLOB_FILES) File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1932, in _EvalWordPart self._EvalDoubleQuoted(part.parts, part_vals) File "/home/uke/oil/osh/word_eval.py", line 1453, in _EvalDoubleQuoted self._EvalWordPart(p, part_vals, QUOTED) File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart self._EvalBracedVarSub(part, part_vals, quoted) File "/home/uke/oil/osh/word_eval.py", line 1692, in _EvalBracedVarSub vsub_state, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1025, in _EvalVarRef var_ref_str = ' '.join(bash_impl.BashAssoc_GetValues(val)) NameError: global name 'bash_impl' is not defined |
bash | 30 Array indirect expansion with @? conversion stdout: ==== v1 ==== ["'value'"] ['value'] [''] ==== v2 ==== ["''"] [''] [''] ==== a1 ==== [''] [''] ['a'] ==== a2[0] ==== ["'element'"] ['element'] ['a'] ==== a3[@] ==== ["'1'", "'2'", "'3'"] ['1', '2', '3'] ['a', 'a', 'a']stderr: |
osh | 30 Array indirect expansion with @? conversion [osh stdout] Expected '==== v1 ====\n[\'value\']\n[\'value\']\n[\'\']\n==== v2 ====\n["\'\'"]\n[\'\']\n[\'\']\n==== a1 ====\n[\'\']\n[\'\']\n[\'a\']\n==== a2[0] ====\n[\'element\']\n[\'element\']\n[\'a\']\n==== a3[@] ====\n[\'1\', \'2\', \'3\']\n[\'1\', \'2\', \'3\']\n[\'a\', \'a\', \'a\']\n' Got '==== v1 ====\n' [osh status] Expected 0, got 1 [osh stderr] Found 'Traceback (most recent' stdout: ==== v1 ====stderr: Traceback (most recent call last): File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module> sys.exit(main(sys.argv)) File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main return AppBundleMain(argv) File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain return shell.Main('osh', arg_r, environ, login_shell, loader, readline) File "/home/uke/oil/core/shell.py", line 1253, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 959, in _DoSimple status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags) File "/home/uke/oil/osh/cmd_eval.py", line 594, in _RunSimpleCommand run_flags) File "/home/uke/oil/core/vm.py", line 224, in RunSimpleCommand run_flags) File "/home/uke/oil/core/executor.py", line 420, in _RunSimpleCommand cmd_val) File "/home/uke/oil/core/vm.py", line 302, in _RunInvokable status = self.cmd_ev.RunProc(proc, cmd_val) File "/home/uke/oil/osh/cmd_eval.py", line 2389, in RunProc status = self._Execute(proc.body) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1820, in _Dispatch status = self._ExecuteList(node.children) File "/home/uke/oil/osh/cmd_eval.py", line 2051, in _ExecuteList status = self._Execute(child) File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple allow_assign=True) File "/home/uke/oil/osh/word_eval.py", line 2566, in EvalWordSequence2 self._EvalWordToParts(w, part_vals, EXTGLOB_FILES) File "/home/uke/oil/osh/word_eval.py", line 2048, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/uke/oil/osh/word_eval.py", line 1932, in _EvalWordPart self._EvalDoubleQuoted(part.parts, part_vals) File "/home/uke/oil/osh/word_eval.py", line 1453, in _EvalDoubleQuoted self._EvalWordPart(p, part_vals, QUOTED) File "/home/uke/oil/osh/word_eval.py", line 1956, in _EvalWordPart self._EvalBracedVarSub(part, part_vals, quoted) File "/home/uke/oil/osh/word_eval.py", line 1692, in _EvalBracedVarSub vsub_state, vtest_place) File "/home/uke/oil/osh/word_eval.py", line 1025, in _EvalVarRef var_ref_str = ' '.join(bash_impl.BashAssoc_GetValues(val)) NameError: global name 'bash_impl' is not defined |