(CommandList children: [ (Sentence child: (C {(.)} { (DQ (BracedVarSub token: <VSub_Name srcdir> suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(.)}) spids: [47 51] ) (/tests/init.sh) ) } ) terminator: <Op_Semi ';'> ) (C {(path_prepend_)} {(./src)}) (C {(print_ver_)} {(nohup)}) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(nohup)} {(sh)} {(-c)} {(SQ <'echo stdout; echo stderr 1>&2'>)}] redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(err)} spids:[76])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[81])] spids: [81] ) ] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(test)} {(-t)} {(1)}) terminator:<Op_Semi ';'>)] action: [ (AndOr ops: [Op_DPipe] children: [ (C {(test)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(cat)} {(nohup.out)})]) left_token: <Left_CommandSub '$('> spids: [106 110] ) ) } {(Lit_Other '=')} {(stdout)} ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[119])] spids: [119] ) ] ) (AndOr ops: [Op_DPipe] children: [ (If arms: [ (if_arm cond: [(Sentence child:(C {(test)} {(-t)} {(0)}) terminator:<Op_Semi ';'>)] action: [ (C {(echo)} {(SQ <'nohup: ignoring input and appending output to '>) (nohup.out) (SQ <'\\'>) } ) ] spids: [16777215 132] ) ] else_action: [ (C {(echo)} {(SQ <'nohup: appending output to '>) (nohup.out) (SQ <'\\'>)}) ] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(exp)} spids:[162])] spids: [146 160] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[167])] spids: [167] ) ] ) ] spids: [16777215 100] ) ] else_action: [ (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-f)} {(nohup.out)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[185])] spids: [185] ) ] ) (AndOr ops: [Op_DPipe] children: [ (If arms: [ (if_arm cond: [(Sentence child:(C {(test)} {(-t)} {(0)}) terminator:<Op_Semi ';'>)] action: [ (SimpleCommand words: [{(echo)} {(SQ <'nohup: ignoring input'>)}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(exp)} spids:[207])] ) ] spids: [16777215 198] ) ] else_action: [(C {(rm)} {(-f)} {(exp)})] spids: [211 221] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[225])] spids: [225] ) ] ) ] spids: [170 228] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(echo)} {(SQ <stderr>)}] redirects: [(Redir op_id:Redir_DGreat fd:16777215 arg_word:{(exp)} spids:[236])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[242])] spids: [242] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(compare)} {(exp)} {(err)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[254])] spids: [254] ) ] ) (C {(rm)} {(-f)} {(nohup.out)} {(err)} {(exp)}) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(nohup)} {(sh)} {(-c)} {(SQ <'echo stdout; echo stderr 1>&2'>)}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(out)} spids:[287])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[292])] spids: [292] ) ] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(test)} {(-t)} {(2)}) terminator:<Op_Semi ';'>)] action: [ (AndOr ops: [Op_DPipe] children: [ (C {(test)} { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [(C {(cat)} {(out)}) (C {(tr)} {(SQ <'\\n'>)} {(-)})] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [310 322] ) ) } {(Lit_Other '=')} {(stdout-stderr-)} ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[331])] spids: [331] ) ] ) ] spids: [16777215 304] ) ] else_action: [ (AndOr ops: [Op_DPipe] children: [ (C {(test)} { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [(C {(cat)} {(out)}) (C {(tr)} {(SQ <'\\n'>)} {(-)})] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [340 352] ) ) } {(Lit_Other '=')} {(stdout-)} ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[361])] spids: [361] ) ] ) ] spids: [334 364] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-f)} {(nohup.out)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[377])] spids: [377] ) ] ) (C {(rm)} {(-f)} {(nohup.out)} {(err)}) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [(C {(test)} {(-w)} {(/dev/full)}) (C {(test)} {(-c)} {(/dev/full)})] ) terminator: <Op_Semi ';'> ) ] action: [ (AndOr ops: [Op_DPipe] children: [ (Subshell child: (CommandList children: [ (SimpleCommand words: [{(exec)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/tty)} spids: [422] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-t)} {(1)}) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {(0)} ) ] ) (SimpleCommand words: [{(nohup)} {(echo)} {(hi)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/full)} spids: [445] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_QMark '$?')} {(Lit_Other '=')} {(125)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fail) op: Equal rhs: {(1)} spids: [460] ) ] spids: [460] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-f)} {(nohup.out)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fail) op: Equal rhs: {(1)} spids: [472] ) ] spids: [472] ) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-s)} {(nohup.out)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fail) op: Equal rhs: {(1)} spids: [484] ) ] spids: [484] ) ] ) (C {(rm)} {(-f)} {(nohup.out)}) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {($ VSub_Name '$fail')} ) ] ) spids: [417 499] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[503])] spids: [503] ) ] ) ] spids: [16777215 415] ) ] spids: [16777215 506] ) (SimpleCommand words: [{(nohup)} {(no-such-command)}] redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(err)} spids:[513])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:errno) op:Equal rhs:{($ VSub_QMark '$?')} spids:[517])] spids: [517] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(test)} {(-t)} {(1)}) terminator:<Op_Semi ';'>)] action: [ (AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_Name '$errno')} {(Lit_Other '=')} {(127)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[542])] spids: [542] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-f)} {(nohup.out)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[558])] spids: [558] ) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-s)} {(nohup.out)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[574])] spids: [574] ) ] ) ] spids: [16777215 529] ) ] spids: [16777215 577] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: {("nohup: appending output to 'nohup.out'\n") ("nohup: cannot run command 'no-such-command': No such file or directory\n") } do_expansion: False here_end: EOF was_filled: T spids: [582] ) (Redir op_id:Redir_Great fd:16777215 arg_word:{(exp)} spids:[586]) ] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[592])] spids: [592] ) ] ) (C {(rm)} {(-f)} {(nohup.out)} {(err)} {(exp)}) (Sentence child:(C {(touch)} {(k)}) terminator:<Op_Semi ';'>) (C {(chmod)} {(0)} {(k)}) (SimpleCommand words: [{(nohup)} {(./k)}] redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(err)} spids:[630])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:errno) op:Equal rhs:{($ VSub_QMark '$?')} spids:[634])] spids: [634] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_Name '$errno')} {(Lit_Other '=')} {(126)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[647])] spids: [647] ) ] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(test)} {(-t)} {(1)}) terminator:<Op_Semi ';'>)] action: [ (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-f)} {(nohup.out)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[674])] spids: [674] ) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-s)} {(nohup.out)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[690])] spids: [690] ) ] ) ] spids: [16777215 659] ) ] spids: [16777215 693] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: {("nohup: appending output to 'nohup.out'\n") ("nohup: cannot run command './k': Permission denied\n") } do_expansion: False here_end: EOF was_filled: T spids: [698] ) (Redir op_id:Redir_Great fd:16777215 arg_word:{(exp)} spids:[702]) ] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[708])] spids: [708] ) ] ) (SimpleCommand words: [{(nohup)}] redirects: [ (Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[726]) (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[729]) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_QMark '$?')} {(Lit_Other '=')} {(125)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[742])] spids: [742] ) ] ) (SimpleCommand words: [{(nohup)}] redirects: [ (Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[750]) (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[753]) ] more_env: [(env_pair name:POSIXLY_CORRECT val:{(1)} spids:[745])] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_QMark '$?')} {(Lit_Other '=')} {(127)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[766])] spids: [766] ) ] ) (C {(Exit)} {($ VSub_Name '$fail')}) ] )