code: def do_loop(self, params):
          
          repeat = params.repeat
          if repeat < 0:
              self.show_output("<repeat> must be >= 0.")
              return
  
          pause = params.pause
          if pause < 0:
              self.show_output("<pause> must be >= 0.")
              return
  
          cmds = params.cmds
          i = 0
          with self.transitions_disabled():
              while True:
                  for cmd in cmds:
                      try:
                          self.onecmd(cmd)
                      except Exception as ex:
                          self.show_output("Command failed: %s.", ex)
                  if pause > 0.0:
                      time.sleep(pause)
                  i += 1
                  if repeat > 0 and i >= repeat:
                      break
docs: \x1b[1mNAME\x1b[0m
          loop - Runs commands in a loop
  
  \x1b[1mSYNOPSIS\x1b[0m
          loop <repeat> <pause> <cmd1> <cmd2> ... <cmdN>
  
  \x1b[1mDESCRIPTION\x1b[0m
          Runs <cmds> <repeat> times (0 means forever), with a pause of <pause> secs inbetween
          each <cmd> (0 means no pause).
  
  \x1b[1mEXAMPLES\x1b[0m
          > loop 3 0 "get /foo"
          ...
  
          > loop 3 0 "get /foo" "get /bar"
          ...