(CommandList
  children: [
    (C {(set)} {(-e)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:TMP)
          op: Equal
          rhs: {(/tmp/mtree.) ($ VSub_Dollar '$$')}
          spids: [33]
        )
      ]
      spids: [33]
    )
    (C {(rm)} {(-rf)} {(${ VSub_Name TMP)})
    (C {(mkdir)} {(-p)} {(${ VSub_Name TMP)} {(${ VSub_Name TMP) (/mr)} {(${ VSub_Name TMP) (/mt)})
    (C {(mkdir)} {(${ VSub_Name TMP) (/mt/foo)})
    (C {(mkdir)} {(${ VSub_Name TMP) (/mr/) (EscapedLiteralPart token:<Lit_EscapedChar '\\*'>)})
    (Pipeline
      children: [
        (C {(mtree)} {(-c)} {(-p)} {(${ VSub_Name TMP) (/mr)})
        (SimpleCommand
          words: [{(mtree)} {(-U)} {(-r)} {(-p)} {(${ VSub_Name TMP) (/mt)}]
          redirects: [
            (Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[107])
            (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[111])
          ]
        )
      ]
      negated: F
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {(-d)} {(${ VSub_Name TMP) (/mt/foo)} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (SimpleCommand
              words: [{(echo)} {(DQ ("ERROR Mtree create fell for filename with '*' char"))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[138])]
            )
            (C {(rm)} {(-rf)} {(${ VSub_Name TMP)})
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 129]
        )
      ]
      spids: [16777215 155]
    )
    (C {(rmdir)} {(${ VSub_Name TMP) (/mr/) (EscapedLiteralPart token:<Lit_EscapedChar '\\*'>)})
    (C {(mkdir)} {(-p)} {(${ VSub_Name TMP) (/mt/foo)})
    (C {(mkdir)} 
      {(${ VSub_Name TMP) (/mr/) (EscapedLiteralPart token:<Lit_EscapedChar '\\['>) (f) 
        (EscapedLiteralPart token:<Lit_EscapedChar '\\]'>) (oo)
      }
    )
    (Pipeline
      children: [
        (C {(mtree)} {(-c)} {(-p)} {(${ VSub_Name TMP) (/mr)})
        (SimpleCommand
          words: [{(mtree)} {(-U)} {(-r)} {(-p)} {(${ VSub_Name TMP) (/mt)}]
          redirects: [
            (Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[212])
            (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[216])
          ]
        )
      ]
      negated: F
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {(-d)} {(${ VSub_Name TMP) (/mt/foo)} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (SimpleCommand
              words: [{(echo)} {(DQ ("ERROR Mtree create fell for filename with '[' char"))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[243])]
            )
            (C {(rm)} {(-rf)} {(${ VSub_Name TMP)})
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 234]
        )
      ]
      spids: [16777215 260]
    )
    (C {(rmdir)} 
      {(${ VSub_Name TMP) (/mr/) (EscapedLiteralPart token:<Lit_EscapedChar '\\['>) (f) 
        (EscapedLiteralPart token:<Lit_EscapedChar '\\]'>) (oo)
      }
    )
    (C {(mkdir)} {(-p)} {(${ VSub_Name TMP) (/mt/foo)})
    (C {(mkdir)} {(${ VSub_Name TMP) (/mr/) (EscapedLiteralPart token:<Lit_EscapedChar '\\?'>) (oo)})
    (Pipeline
      children: [
        (C {(mtree)} {(-c)} {(-p)} {(${ VSub_Name TMP) (/mr)})
        (SimpleCommand
          words: [{(mtree)} {(-U)} {(-r)} {(-p)} {(${ VSub_Name TMP) (/mt)}]
          redirects: [
            (Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[318])
            (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[322])
          ]
        )
      ]
      negated: F
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {(-d)} {(${ VSub_Name TMP) (/mt/foo)} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (SimpleCommand
              words: [{(echo)} {(DQ ("ERROR Mtree create fell for filename with '?' char"))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[349])]
            )
            (C {(rm)} {(-rf)} {(${ VSub_Name TMP)})
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 340]
        )
      ]
      spids: [16777215 366]
    )
    (C {(rmdir)} {(${ VSub_Name TMP) (/mr/) (EscapedLiteralPart token:<Lit_EscapedChar '\\?'>) (oo)})
    (C {(mkdir)} {(${ VSub_Name TMP) (/mr/) (EscapedLiteralPart token:<Lit_EscapedChar '\\#'>)})
    (SimpleCommand
      words: [{(mtree)} {(-c)} {(-p)} {(${ VSub_Name TMP) (/mr)}]
      redirects: [
        (Redir op_id:Redir_Great fd:16777215 arg_word:{(${ VSub_Name TMP) (/_)} spids:[397])
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (SimpleCommand
                  words: [{(mtree)} {(-U)} {(-r)} {(-p)} {(${ VSub_Name TMP) (/mt)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Less
                      fd: 16777215
                      arg_word: {(${ VSub_Name TMP) (/_)}
                      spids: [419]
                    )
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/dev/null)}
                      spids: [426]
                    )
                    (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[430])
                  ]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(true)})]
          spids: [16777215 435]
        )
      ]
      else_action: [
        (SimpleCommand
          words: [{(echo)} {(DQ ("ERROR Mtree create fell for filename with '#' char"))}]
          redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[449])]
        )
        (C {(rm)} {(-rf)} {(${ VSub_Name TMP)})
        (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
      ]
      spids: [440 466]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} 
                  {(${ VSub_Name TMP) (/mt/) (EscapedLiteralPart token:<Lit_EscapedChar '\\#'>)} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (SimpleCommand
              words: [{(echo)} {(DQ ("ERROR Mtree update failed to create name with '#' char"))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[497])]
            )
            (C {(rm)} {(-rf)} {(${ VSub_Name TMP)})
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 488]
        )
      ]
      spids: [16777215 514]
    )
    (C {(rmdir)} {(${ VSub_Name TMP) (/mr/) (EscapedLiteralPart token:<Lit_EscapedChar '\\#'>)})
    (C {(rm)} {(-rf)} {(${ VSub_Name TMP)})
    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
  ]
)