code: def do_shell(self, arg):
          
          if self.cmdprefix:
              raise CmdError("prefix not allowed")
  
          # Try to use the environment to locate cmd.exe.
          # If not found, it's usually OK to just use the filename,
          # since cmd.exe is one of those "magic" programs that
          # can be automatically found by CreateProcess.
          shell = os.getenv('ComSpec', 'cmd.exe')
  
          # When given a command, run it and return.
          # When no command is given, spawn a shell.
          if arg:
              arg = '%s /c %s' % (shell, arg)
          else:
              arg = shell
          process = self.debug.system.start_process(arg, bConsole = True)
          process.wait()
docs: ! - spawn a system shell
          shell - spawn a system shell
          ! <command> [arguments...] - execute a single shell command
          shell <command> [arguments...] - execute a single shell command