(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:locatedb)
          op: assign_op.Equal
          rhs: {(DQ (/tmp/locate.db))}
          spids: [11]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Id.Lit_LBracket '[')} 
                  {
                    (DQ 
                      (command_sub
                        left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:22)
                        command_list: (command.CommandList children:[(C {(whoami)})])
                      )
                    )
                  } {(Id.KW_Bang '!') (Id.Lit_Equals '=')} {(DQ (root))} {(Id.Lit_RBracket ']')}
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:36)
            )
          ]
          action: [
            (command.Simple
              words: [{(echo)} {(DQ ('Must be root to run this command.'))}]
              redirects: [
                (redir.Redir
                  op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:47)
                  fd: -1
                  arg_word: {(2)}
                )
              ]
            )
            (command.ControlFlow
              token: (Token id:Id.ControlFlow_Exit val:exit span_id:51)
              arg_word: {(1)}
            )
          ]
          spids: [17 38]
        )
      ]
    )
    (command.Simple
      words: [{(find)} {(/)} {(-print)}]
      redirects: [
        (redir.Redir
          op: (Token id:Id.Redir_Great val:'>' span_id:64)
          fd: -1
          arg_word: {($ Id.VSub_DollarName '$locatedb')}
        )
      ]
    )
    (command.ControlFlow token:(Token id:Id.ControlFlow_Exit val:exit span_id:69) arg_word:{(0)})
  ]
)