(CommandList
  children: [
    (C {(mkdir)} {(service)} {(svc0)} {(svc1)} {(svc2)} {(svc2/log)})
    (SimpleCommand
      words: [{(catexe)} {(svc0/run)}]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: {(DQ ('#!/bin/sh\n') ('echo svc0 ran >> output\n'))}
          do_expansion: True
          here_end: EOF
          was_filled: T
          spids: [20]
        )
      ]
    )
    (SimpleCommand
      words: [{(catexe)} {(svc1/run)}]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: {(DQ ('#!/bin/sh\n') ('echo svc1 ran\n'))}
          do_expansion: True
          here_end: EOF
          was_filled: T
          spids: [31]
        )
      ]
    )
    (SimpleCommand
      words: [{(catexe)} {(svc1/log)}]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: {(DQ ('#!/bin/sh\n') ('exec cat > output\n'))}
          do_expansion: True
          here_end: EOF
          was_filled: T
          spids: [42]
        )
      ]
    )
    (SimpleCommand
      words: [{(catexe)} {(svc2/run)}]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: {(DQ ('#!/bin/sh\n') ('echo svc2 ran\n'))}
          do_expansion: True
          here_end: EOF
          was_filled: T
          spids: [53]
        )
      ]
    )
    (SimpleCommand
      words: [{(catexe)} {(svc2/log/run)}]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: {(DQ ('#!/bin/sh\n') ('exec cat > ../output\n'))}
          do_expansion: True
          here_end: EOF
          was_filled: T
          spids: [64]
        )
      ]
    )
    (C {(ln)} {(-s)} 
      {
        (CommandSubPart
          command_list: (CommandList children:[(C {(pwd)})])
          left_token: <Left_Backtick '`'>
          spids: [75 77]
        ) (/svc) (Lit_Other '[') (0-9) (Lit_Other ']')
      } {(service/)}
    )
    (Sentence
      child: 
        (SimpleCommand
          words: [
            {(svscan)}
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(pwd)})])
                left_token: <Left_Backtick '`'>
                spids: [88 90]
              ) (/service)
            }
          ]
          redirects: [
            (Redir op_id:Redir_Great fd:16777215 arg_word:{(svscan.log)} spids:[93])
            (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[96])
          ]
        )
      terminator: <Op_Amp '&'>
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:svscanpid)
          op: Equal
          rhs: {($ VSub_Bang '$!')}
          spids: [101]
        )
      ]
      spids: [101]
    )
    (Until
      cond: [
        (AndOr
          ops: [Op_DAmp Op_DAmp Op_DAmp]
          children: [
            (C {(svok)} {(svc0)})
            (C {(svok)} {(svc1)})
            (C {(svok)} {(svc2)})
            (C {(svok)} {(svc2/log)})
          ]
        )
      ]
      body: (DoGroup children:[(C {(sleep)} {(1)})] spids:[129 136])
    )
    (C {(kill)} {($ VSub_Name '$svscanpid')})
    (SimpleCommand
      words: [{(wait)}]
      redirects: [
        (Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[148])
        (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[151])
      ]
    )
    (C {(svc)} {(-dx)} {(svc) (Lit_Other '[') (0-9) (Lit_Other ']')} {(svc2/log)})
    (While
      cond: [
        (AndOr
          ops: [Op_DPipe Op_DPipe Op_DPipe]
          children: [
            (C {(svok)} {(svc0)})
            (C {(svok)} {(svc1)})
            (C {(svok)} {(svc2)})
            (C {(svok)} {(svc2/log)})
          ]
        )
      ]
      body: (DoGroup children:[(C {(sleep)} {(1)})] spids:[190 197])
    )
    (C {(head)} {(-n)} {(1)} {(svc) (Lit_Other '[') (0-9) (Lit_Other ']') (/output)})
    (C {(cat)} {(svscan.log)})
    (C {(rm)} {(-r)} {(svc0)} {(svc1)} {(svc2)} {(service)})
  ]
)