(command.CommandList
  children: [
    (command.Simple blame_tok:<set> more_env:[] words:[{<set>} {<-e>}] redirects:[] do_fork:T)
    (command.ShAssignment
      left: <Id.Lit_VarLike 'script_root='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'script_root='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'script_root='> name:script_root)
          op: assign_op.Equal
          rhs: 
            {
              (CommandSub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Simple
                    blame_tok: <dirname>
                    more_env: []
                    words: [{<dirname>} {(DQ (${ Id.VSub_Name BASH_SOURCE))}]
                    redirects: []
                    do_fork: T
                  )
                right: <Id.Backtick_Right '`'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <source>
      more_env: []
      words: [{<source>} {($ Id.VSub_DollarName script_root) <'/env.sh'>}]
      redirects: []
      do_fork: T
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'VTGATE_REPLICAS='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'VTGATE_REPLICAS='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'VTGATE_REPLICAS='> name:VTGATE_REPLICAS)
          op: assign_op.Equal
          rhs: 
            {
              (BracedVarSub
                left: <Id.Left_DollarBrace '${'>
                token: <Id.VSub_Name VTGATE_REPLICAS>
                var_name: VTGATE_REPLICAS
                suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{<3>})
                right: <Id.Right_DollarBrace '}'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'VTGATE_TEMPLATE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'VTGATE_TEMPLATE='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'VTGATE_TEMPLATE='> name:VTGATE_TEMPLATE)
          op: assign_op.Equal
          rhs: 
            {
              (BracedVarSub
                left: <Id.Left_DollarBrace '${'>
                token: <Id.VSub_Name VTGATE_TEMPLATE>
                var_name: VTGATE_TEMPLATE
                suffix_op: 
                  (suffix_op.Unary
                    op: <Id.VTest_ColonHyphen _>
                    arg_word: {(SQ <vtgate-controller-template.yaml>)}
                  )
                right: <Id.Right_DollarBrace '}'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'replicas='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'replicas='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'replicas='> name:replicas)
          op: assign_op.Equal
          rhs: {($ Id.VSub_DollarName VTGATE_REPLICAS)}
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <echo>
      more_env: []
      words: [{<echo>} {(DQ <'Creating vtgate service...'>)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <Id.VSub_DollarName '$KUBECTL'>
      more_env: []
      words: [{($ Id.VSub_DollarName KUBECTL)} {<create>} {<-f>} {<vtgate-service.yaml>}]
      redirects: []
      do_fork: T
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'sed_script='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'sed_script='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sed_script='> name:sed_script)
          op: assign_op.Equal
          rhs: {(DQ )}
        )
      ]
      redirects: []
    )
    (command.ForEach
      keyword: <Id.KW_For for>
      iter_names: [var]
      iterable: (for_iter.Words words:[{<replicas>}])
      semi_tok: <Id.Op_Semi _>
      body: 
        (command.DoGroup
          left: <Id.KW_Do do>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'sed_script+='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'sed_script+='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sed_script+='> name:sed_script)
                  op: assign_op.PlusEqual
                  rhs: 
                    {
                      (DQ <'s,{{'> ($ Id.VSub_DollarName var) <'}},'> 
                        (BracedVarSub
                          left: <Id.Left_DollarBrace '${'>
                          token: <Id.VSub_Name var>
                          var_name: var
                          prefix_op: <Id.VSub_Bang '!'>
                          right: <Id.Right_DollarBrace '}'>
                        ) <',g;'>
                      )
                    }
                )
              ]
              redirects: []
            )
          ]
          right: <Id.KW_Done done>
        )
      redirects: []
    )
    (command.Simple
      blame_tok: <echo>
      more_env: []
      words: [{<echo>} {(DQ <'Creating vtgate replicationcontroller...'>)}]
      redirects: []
      do_fork: T
    )
    (command.Pipeline
      children: [
        (command.Simple
          blame_tok: <cat>
          more_env: []
          words: [{<cat>} {($ Id.VSub_DollarName VTGATE_TEMPLATE)}]
          redirects: []
          do_fork: T
        )
        (command.Simple
          blame_tok: <sed>
          more_env: []
          words: [{<sed>} {<-e>} {(DQ ($ Id.VSub_DollarName sed_script))}]
          redirects: []
          do_fork: T
        )
        (command.Simple
          blame_tok: <Id.VSub_DollarName '$KUBECTL'>
          more_env: []
          words: [{($ Id.VSub_DollarName KUBECTL)} {<create>} {<-f>} {<->}]
          redirects: []
          do_fork: T
        )
      ]
      ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>]
    )
  ]
)