(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PATH) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<pwd>})) <Id.Lit_Colon ':'> <'/command'> <Id.Lit_Colon ':'> <'/usr/local/bin'> <Id.Lit_Colon ':'> <'/usr/local/sbin'> <Id.Lit_Colon ':'> <'/bin'> <Id.Lit_Colon ':'> <'/sbin'> <Id.Lit_Colon ':'> <'/usr/bin'> <Id.Lit_Colon ':'> <'/usr/sbin'> <Id.Lit_Colon ':'> <'/usr/X11R6/bin'> <Id.Lit_Colon ':'> <'/usr/ucb'> } spids: [0] ) ] ) (C {<export>} {<PATH>}) (C {<umask>} {<022>}) (command.ShFunction name: die body: (BraceGroup children: [ (C {<echo>} {(DQ ($ Id.VSub_At '$@'))}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) ) (command.ShFunction name: catexe body: (BraceGroup children: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_Number '$1')} ) ] do_fork: T ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {($ Id.VSub_Number '$1')}) ] ) ) (command.ShFunction name: filter_svstat body: (BraceGroup children: [ (C {<sed>} {<-e>} {(SQ <'s/[0-9]* seconds/x seconds/'>)} {<-e>} {(SQ <'s/pid [0-9]*/pid x/'>)}) ] ) ) (command.AndOr ops: [Id.Op_DPipe] children: [(C {<rm>} {<-rf>} {<rts-tmp>}) (C {<die>} {(DQ <'Could not clean up old rts-tmp'>)})] ) (command.AndOr ops: [Id.Op_DPipe] children: [(C {<mkdir>} {<rts-tmp>}) (C {<die>} {(DQ <'Could not create new rts-tmp'>)})] ) (command.AndOr ops: [Id.Op_DPipe] children: [(C {<cd>} {<rts-tmp>}) (C {<die>} {(DQ <'Could not change to rts-tmp'>)})] ) (command.AndOr ops: [Id.Op_DPipe] children: [(C {<mkdir>} {<test.sv>}) (C {<die>} {(DQ <'Could not create test.sv'>)})] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TOP) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<pwd>}))} spids: [154] ) ] ) ] )