From a28a154bb06d1f0d653f767e1354d9ba19b547fa Mon Sep 17 00:00:00 2001 From: Kunal8954 Date: Sat, 25 Jul 2026 12:36:34 +0530 Subject: [PATCH 1/3] Move BashOperator template field logic from __init__ to execute --- .../src/airflow/providers/standard/operators/bash.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/providers/standard/src/airflow/providers/standard/operators/bash.py b/providers/standard/src/airflow/providers/standard/operators/bash.py index 8f5205c11bd8e..4c32e8cd8baf6 100644 --- a/providers/standard/src/airflow/providers/standard/operators/bash.py +++ b/providers/standard/src/airflow/providers/standard/operators/bash.py @@ -178,10 +178,7 @@ def __init__( self.cwd = cwd self.append_env = append_env self.output_processor = output_processor - self._is_inline_cmd = None - if isinstance(bash_command, str): - self._is_inline_cmd = self._is_inline_command(bash_command=bash_command) - + @cached_property def subprocess_hook(self): """Returns hook for running the bash command.""" @@ -215,7 +212,11 @@ def execute(self, context: Context): raise AirflowException(f"The cwd {self.cwd} must be a directory") env = self.get_env(context) - if self._is_inline_cmd: + is_inline_cmd = isinstance(self.bash_command, str) and self._is_inline_command( + bash_command=self.bash_command + ) + + if is_inline_cmd: result = self._run_inline_command(bash_path=bash_path, env=env) else: result = self._run_rendered_script_file(bash_path=bash_path, env=env) From acc41a4f9c2ec4c3fb57baa70ce51275156b8e3b Mon Sep 17 00:00:00 2001 From: Kunal8954 Date: Sat, 25 Jul 2026 12:38:34 +0530 Subject: [PATCH 2/3] Remove BashOperator from validate-operators-init exemption list --- scripts/ci/prek/validate_operators_init_exemptions.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/ci/prek/validate_operators_init_exemptions.txt b/scripts/ci/prek/validate_operators_init_exemptions.txt index 29ee3dd263922..fc10d191a17a1 100644 --- a/scripts/ci/prek/validate_operators_init_exemptions.txt +++ b/scripts/ci/prek/validate_operators_init_exemptions.txt @@ -56,6 +56,5 @@ providers/microsoft/azure/src/airflow/providers/microsoft/azure/transfers/oracle providers/microsoft/psrp/src/airflow/providers/microsoft/psrp/operators/psrp.py::PsrpOperator providers/oracle/src/airflow/providers/oracle/transfers/oracle_to_oracle.py::OracleToOracleOperator providers/papermill/src/airflow/providers/papermill/operators/papermill.py::PapermillOperator -providers/standard/src/airflow/providers/standard/operators/bash.py::BashOperator providers/standard/src/airflow/providers/standard/operators/trigger_dagrun.py::TriggerDagRunOperator providers/standard/src/airflow/providers/standard/sensors/date_time.py::DateTimeSensor From 2046f3746f4c6161bdda381b49d44ad23d35b7d5 Mon Sep 17 00:00:00 2001 From: Kunal8954 Date: Sat, 25 Jul 2026 17:57:05 +0530 Subject: [PATCH 3/3] Fix formatting: remove trailing whitespace on blank line --- .../standard/src/airflow/providers/standard/operators/bash.py | 1 - 1 file changed, 1 deletion(-) diff --git a/providers/standard/src/airflow/providers/standard/operators/bash.py b/providers/standard/src/airflow/providers/standard/operators/bash.py index 4c32e8cd8baf6..101236949df88 100644 --- a/providers/standard/src/airflow/providers/standard/operators/bash.py +++ b/providers/standard/src/airflow/providers/standard/operators/bash.py @@ -178,7 +178,6 @@ def __init__( self.cwd = cwd self.append_env = append_env self.output_processor = output_processor - @cached_property def subprocess_hook(self): """Returns hook for running the bash command."""