(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]
        )
      ]
    )
  ]
)