

def execute(self, context):
    '\n        Execute the bash command in a temporary directory\n        which will be cleaned afterwards\n        '
    bash_command = self.bash_command
    logging.info(('tmp dir root location: \n' + gettempdir()))
    with TemporaryDirectory(prefix='airflowtmp') as tmp_dir:
        with NamedTemporaryFile(dir=tmp_dir, prefix=self.task_id) as f:
            f.write(bytes(bash_command, 'utf_8'))
            self.flush()
            fname = f.name
            script_location = ((tmp_dir + '/') + fname)
            logging.info('Temporary script location :{0}'.format(script_location))
            logging.info(('Running command: ' + bash_command))
            sp = Popen(['bash', fname], stdout=PIPE, stderr=STDOUT, cwd=tmp_dir, env=self.env)
            self.sp = sp
            logging.info('Output:')
            line = ''
            for line in iter(sp.stdout.readline, b''):
                line = line.decode(self.output_encoding).strip()
                logging.info(line)
            sp.wait()
            logging.info('Command exited with return code {0}'.format(sp.returncode))
            if sp.returncode:
                raise AirflowException('Bash command failed')
    if self.xcom_push_flag:
        return line

dataset/ETHPy150Open airbnb/airflow/airflow/operators/bash_operator.py BashOperator.execute/VarMisuse@75/148 `f`->`self`