(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tmpfiles) op: assign_op.Equal rhs: {(DQ )} spids: [7] ) ] ) (C {<trap>} {(SQ <'rm -fr $tmpfiles'>)} {<1>} {<2>} {<3>} {<15>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tmpfiles) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$tmpfiles') <' t-select-out.out t-select-out.tmp'>)} spids: [26] ) ] ) (C {<rm>} {<-f>} {<t-select-out.tmp>}) (command.Simple words: [{<'./test-select-fd'> (${ Id.VSub_Name EXEEXT)} {<w>} {<1>} {<t-select-out.tmp>}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<t-select-out.out>})] do_fork: T ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<cat>} {<t-select-out.tmp>}))} {<Id.Lit_Equals '='>} {(DQ <1>)} ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [(command.Sentence child:(C {<false>}) terminator:<Id.Op_Semi _>)] ) action: [ (C {<rm>} {<-f>} {<t-select-out.tmp>}) (command.Subshell child: (command.Pipeline children: [ (BraceGroup children: [ (command.Sentence child: (C {<echo>} {<abc>}) terminator: <Id.Op_Semi _> ) (command.Sentence child: (C {<'./test-select-fd'> (${ Id.VSub_Name EXEEXT)} {<w>} {<1>} {<t-select-out.tmp>} ) terminator: <Id.Op_Semi _> ) ] ) (BraceGroup children: [ (command.Sentence child: (C {<sleep>} {<1>}) terminator: <Id.Op_Semi _> ) (command.Sentence child: (C {<cat>}) terminator: <Id.Op_Semi _> ) ] ) ] negated: F ) redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<cat>} {<t-select-out.tmp>}) ) } {<Id.Lit_Equals '='>} {(DQ <0>)} ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) ] spids: [85 90] ) ] ) (C {<rm>} {<-f>} {<t-select-out.tmp>}) (command.Subshell child: (command.Pipeline children: [ (BraceGroup children: [ (command.Sentence child:(C {<sleep>} {<1>}) terminator:<Id.Op_Semi _>) (command.Sentence child: (C {<echo>} {<abc>}) terminator: <Id.Op_Semi _> ) (command.Sentence child: (C {<'./test-select-fd'> (${ Id.VSub_Name EXEEXT)} {<w>} {<1>} {<t-select-out.tmp>}) terminator: <Id.Op_Semi _> ) ] ) (C {<cat>}) ] negated: F ) redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<cat>} {<t-select-out.tmp>}))} {<Id.Lit_Equals '='>} {(DQ <1>)} ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) (C {<rm>} {<-f>} {<t-select-out.tmp>}) (command.Simple words: [{<'./test-select-fd'> (${ Id.VSub_Name EXEEXT)} {<w>} {<1>} {<t-select-out.tmp>}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})] do_fork: T ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<cat>} {<t-select-out.tmp>}))} {<Id.Lit_Equals '='>} {(DQ <1>)} ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) (C {<rm>} {<-fr>} {($ Id.VSub_DollarName '$tmpfiles')}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] )