(CommandList
  children: [
    (C {(nginx)} {(DQ ($ VSub_At '$@'))})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:oldcksum)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [(C {(cksum)} {(/etc/nginx/conf.d/default.conf)})]
                  )
                left_token: <Left_Backtick '`'>
                spids: [51 55]
              )
            }
          spids: [50]
        )
      ]
      spids: [50]
    )
    (Pipeline
      children: [
        (C {(inotifywait)} {(-e)} 
          {(modify) (Lit_Comma ',') (move) (Lit_Comma ',') (create) (Lit_Comma ',') (delete)} {(-mr)} {(--timefmt)} {(SQ <'%d/%m/%y %H:%M'>)} {(--format)} {(SQ <'%T'>)} {(/etc/nginx/conf.d/)}
        )
        (While
          cond: [(Sentence child:(C {(read)} {(date)} {(KW_Time time)}) terminator:<Op_Semi ';'>)]
          body: 
            (DoGroup
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:newcksum)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(cksum)} {(/etc/nginx/conf.d/default.conf)})]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [103 107]
                          )
                        }
                      spids: [102]
                    )
                  ]
                  spids: [102]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$newcksum'))} 
                              {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$oldcksum'))} {(Lit_Other ']')}
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(echo)} 
                          {
                            (DQ ('At ') (${ VSub_Name time) (' on ') (${ VSub_Name date) 
                              (', config file update detected.')
                            )
                          }
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:oldcksum)
                              op: Equal
                              rhs: {($ VSub_Name '$newcksum')}
                              spids: [146]
                            )
                          ]
                          spids: [146]
                        )
                        (C {(nginx)} {(-s)} {(reload)})
                      ]
                      spids: [16777215 128]
                    )
                  ]
                  spids: [16777215 157]
                )
              ]
              spids: [98 160]
            )
        )
      ]
      negated: False
    )
  ]
)