(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: [-1 128]
                    )
                  ]
                  spids: [-1 157]
                )
              ]
              spids: [98 160]
            )
        )
      ]
      negated: False
    )
  ]
)