(command.CommandList children: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<source>} {<'sources/include.sh'>}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) (C {<echo>} {(DQ <'=== Setting up command recording wrapper'>)}) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<-f>} {(DQ ($ Id.VSub_DollarName '$WRAPDIR') <'/wrappy'>)} {<Id.Lit_RBracket ']'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PATH) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$OLDPATH'))} spids: [49] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<-f>} {(DQ ($ Id.VSub_DollarName '$HOSTTOOLS') <'/toybox'>)} {<Id.Lit_RBracket ']'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PATH) op: assign_op.Equal rhs: {(DQ (command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<hosttools_path>})))} spids: [67] ) ] ) ] ) (command.Simple words: [{<blank_tempdir>} {(DQ ($ Id.VSub_DollarName '$WRAPDIR'))}] more_env: [(env_pair name:NO_CLEANUP val:(word.Empty) spids:[74])] do_fork: T ) (C {<echo>} {(SQ <'Linking $PATH to '>) ($ Id.VSub_DollarName '$WRAPDIR')}) (command.Pipeline children: [ (command.Simple words: [ {<path_search>} {(DQ ($ Id.VSub_DollarName '$PATH'))} {(DQ <'*'>)} {(SQ <'ln -s wrappy "$WRAPDIR/$FILE"'>)} ] redirects: [(redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})] do_fork: T ) (C {<dotprogress>}) ] negated: F ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {($ Id.VSub_DollarName '$CC')} {<-Os>} {(DQ ($ Id.VSub_DollarName '$SOURCES') <'/toys/wrappy.c'>)} {<-o>} {(DQ ($ Id.VSub_DollarName '$WRAPDIR') <'/wrappy'>)} ) (C {<dienow>}) ] ) ] )