(CommandList children: [ (C {(_Dbg_help_add)} {(export)} { (SQ <'**export** *var1* [**var2** ...]\n'> <'\n'> <'Marks **var1**, **var2***, to get reassigned with their current values after on\n'> <'subshell exit. The values are set by the debugger only after it\n'> <'notices that the current shell is left.\n'> <'\n'> <'Nothing is done if you aren not in a subshell.\n'> ) } ) (FuncDef name: _Dbg_do_export body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Pound '$#')}) right: (ArithWord w:{(Lit_Digits 0)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_Dbg_errmsg)} {(DQ ('Expecting at least one variable name; got none.'))}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [16777215 91] ) ] spids: [16777215 106] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{(Lit_Digits 0)}) right: (ArithVarRef name:BASH_SUBSHELL) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_Dbg_errmsg)} {(DQ ('You are not in a subshell, so no value(s) need saving.'))}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(2)}) ] spids: [16777215 125] ) ] spids: [16777215 140] ) (Assignment keyword: Assign_Typeset pairs: [(assign_pair lhs:(LhsName name:var_name) op:Equal spids:[146])] spids: [144] ) (ForEach iter_name: var_name iter_words: [{($ VSub_At '$@')}] do_arg_iter: False body: (DoGroup children: [ (C {(_Dbg_defined)} {($ VSub_Name '$var_name')}) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_QMark '$?')}) right: (ArithWord w:{(Lit_Digits 0)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Typeset pairs: [(assign_pair lhs:(LhsName name:val) op:Equal spids:[187])] spids: [185] ) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:val_cmd) op: Equal rhs: { (DQ ('val=') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{') ($ VSub_Name '$var_name') ('}') ) } spids: [192] ) ] spids: [190] ) (C {(eval)} {(DQ ($ VSub_Name '$val_cmd'))}) (C {(_Dbg_write_journal)} {(DQ (${ VSub_Name var_name) ('=') (${ VSub_Name val))} ) ] spids: [16777215 182] ) ] else_action: [ (C {(_Dbg_errmsg)} { (DQ ('name: ') ($ VSub_Name '$var_name') (' is not known to be a variable.') ) } ) ] spids: [222 234] ) ] spids: [159 237] ) spids: [154 157] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [72] ) spids: [68 71] ) ] )