docs: def main(argv):
    """Main."""
    del argv  # Unused.
  
    if flags.FLAGS.version:
      print("GRR console {}".format(config_server.VERSION["packageversion"]))
      return
  
    banner = ("\nWelcome to the GRR console\n")
  
    config.CONFIG.AddContext(contexts.COMMAND_LINE_CONTEXT)
    config.CONFIG.AddContext(contexts.CONSOLE_CONTEXT,
                             "Context applied when running the console binary.")
    server_startup.Init()
  
    fleetspeak_connector.Init()
  
    # To make the console easier to use, we make a default token which will be
    # used in StartFlow operations.
    data_store.default_token = access_control.ACLToken(
        username=getpass.getuser(), reason=flags.FLAGS.reason)
  
    locals_vars = {
        "__name__": "GRR Console",
        "l": Lister,
        "lc": GetChildrenList,
        "o": aff4.FACTORY.Open,
  
        # Bring some symbols from other modules into the console's
        # namespace.
        "StartFlowAndWait": flow_utils.StartFlowAndWait,
        "StartFlowAndWorker": console_utils.StartFlowAndWorker,
    }
  
    locals_vars.update(globals())  # add global variables to console
    if flags.FLAGS.client is not None:
      locals_vars["client"], locals_vars["token"] = console_utils.OpenClient(
          client_id=flags.FLAGS.client)
  
    if flags.FLAGS.code_to_execute:
      logging.info("Running code from flag: %s", flags.FLAGS.code_to_execute)
      exec (flags.FLAGS.code_to_execute)  # pylint: disable=exec-used
    elif flags.FLAGS.command_file:
      logging.info("Running code from file: %s", flags.FLAGS.command_file)
      with open(flags.FLAGS.command_file, "r") as filedesc:
        exec (filedesc.read())  # pylint: disable=exec-used
  
    if (flags.FLAGS.exit_on_complete and
        (flags.FLAGS.code_to_execute or flags.FLAGS.command_file)):
      return
  
    else:  # We want the normal shell.
      locals_vars.update(globals())  # add global variables to console
      ipshell.IPShell(argv=[], user_ns=locals_vars, banner=banner)