(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:tempfile)
          op: Equal
          rhs: {(DQ (/tmp/available.) ($ VSub_Dollar '$$'))}
          spids: [11]
        )
      ]
      spids: [11]
    )
    (C {(trap)} {(DQ ('rm -f ') ($ VSub_Name '$tempfile'))} {(EXIT)})
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(SQ <EOF>)}
          here_end_span_id: 45
          stdin_parts: [
            ('    { sum += $4 }\n')
            ('END { mb = sum / 1024\n')
            ('      gb = mb / 1024\n')
            ('      printf "%.0f MB (%.2fGB) of available disk space\\n", mb, gb\n')
            ('    }\n')
          ]
        )
        (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{($ VSub_Name '$tempfile')})
      ]
    )
    (Pipeline
      children: [(C {(df)} {(-k)}) (C {(awk)} {(-f)} {($ VSub_Name '$tempfile')})]
      negated: F
    )
    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
  ]
)