def run(args, shell=False, exit=True):
if "<STR_LIT>" in os.environ:<EOL><INDENT>token = get_token()<EOL><DEDENT>else:<EOL><INDENT>token = b'<STR_LIT>'<EOL><DEDENT>if not shell:<EOL><INDENT>command = '<STR_LIT:U+0020>'.join(map(shlex.quote, args))<EOL><DEDENT>else:<EOL><INDENT>command = args<EOL><DEDENT>command = command.replace(token.decode('<STR_LIT:utf-8>'), '<STR_LIT>'*len(token))<EOL>print(blue(command))<EOL>sys.stdout.flush()<EOL>returncode = run_command_hiding_token(args, token, shell=shell)<EOL>if exit and returncode != <NUM_LIT:0>:<EOL><INDENT>sys.exit(red("<STR_LIT>" % (command, returncode)))<EOL><DEDENT>return returncode<EOL>
Run the command ``args``.

Automatically hides the secret GitHub token from the output.

If shell=False (recommended for most commands), args should be a list of
strings. If shell=True, args should be a string of the command to run.

If exit=True, it exits on nonzero returncode. Otherwise it returns the
returncode.