def __init__(self, interpreter, parent_environ=None, parent_variables=None,<EOL>formatter=None, verbose=False, env_sep_map=None):
self.interpreter = interpreter<EOL>self.verbose = verbose<EOL>self.parent_environ = os.environ if parent_environ is None else parent_environ<EOL>self.parent_variables = True if parent_variables is Trueelse set(parent_variables or [])<EOL>self.environ = {}<EOL>self.formatter = formatter or str<EOL>self.actions = []<EOL>self._env_sep_map = env_sep_map if env_sep_map is not Noneelse config.env_var_separators<EOL>
interpreter: string or `ActionInterpreter`
    the interpreter to use when executing rex actions
parent_environ: environment to execute the actions within. If None,
    defaults to the current environment.
parent_variables: List of variables to append/prepend to, rather than
    overwriting on first reference. If this is set to True instead of a
    list, all variables are treated as parent variables.
formatter: func or None
    function to use for formatting string values
verbose : bool or list of str
    if True, causes commands to print additional feedback (using info()).
    can also be set to a list of strings matching command names to add
    verbosity to only those commands.