(CommandList children: [ (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} { (BracedVarSub token: <VSub_Name LOGGER_SH> suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(true)}) spids: [10 14] ) } {(Lit_Other ']')} ) (ControlFlow token:<ControlFlow_Return return>) ] ) (Assignment keyword: Assign_Declare flags: [-g] pairs: [(assign_pair lhs:(LhsName name:LOGGER_SH) op:Equal rhs:{(true)} spids:[26])] spids: [22] ) (C {(.)} { (BracedVarSub token: <VSub_Name BASH_SOURCE> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ('*')}) spids: [32 37] ) (/common.sh) } ) (Assignment keyword: Assign_Declare flags: [-g] pairs: [ (assign_pair lhs: (LhsName name:LOGGER_FILE) op: Equal rhs: {(DQ (logfile.txt))} spids: [45] ) ] spids: [41] ) (SimpleCommand words: [{(echo)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ (${ VSub_Name LOGGER_FILE))} spids: [52] ) ] ) (FuncDef name: log body: (BraceGroup children: [ (SimpleCommand words: [{(echo)} {(DQ (${ VSub_At '@'))}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(DQ (${ VSub_Name LOGGER_FILE))} spids: [78] ) ] ) ] spids: [67] ) spids: [61 66] ) ] )