You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by ep...@apache.org on 2022/08/15 18:45:03 UTC
[airflow] 27/45: fix - resolve bash by absolute path (#25331)
This is an automated email from the ASF dual-hosted git repository.
ephraimanierobi pushed a commit to branch v2-3-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
commit 605126ce00ef981c1c0a7bb1977245f5b57ad75f
Author: Matt Rixman <58...@users.noreply.github.com>
AuthorDate: Thu Jul 28 11:39:35 2022 -0600
fix - resolve bash by absolute path (#25331)
Co-authored-by: Matt Rixman <Ma...@users.noreply.github.com>
(cherry picked from commit c3adf3e65d32d8145e2341989a5336c3e5269e62)
---
airflow/operators/bash.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/airflow/operators/bash.py b/airflow/operators/bash.py
index a4fac2b7f7..47c7a6398f 100644
--- a/airflow/operators/bash.py
+++ b/airflow/operators/bash.py
@@ -16,6 +16,7 @@
# specific language governing permissions and limitations
# under the License.
import os
+import shutil
from typing import Dict, Optional, Sequence
from airflow.compat.functools import cached_property
@@ -176,6 +177,7 @@ class BashOperator(BaseOperator):
return env
def execute(self, context: Context):
+ bash_path = shutil.which("bash") or "bash"
if self.cwd is not None:
if not os.path.exists(self.cwd):
raise AirflowException(f"Can not find the cwd: {self.cwd}")
@@ -183,7 +185,7 @@ class BashOperator(BaseOperator):
raise AirflowException(f"The cwd {self.cwd} must be a directory")
env = self.get_env(context)
result = self.subprocess_hook.run_command(
- command=['bash', '-c', self.bash_command],
+ command=[bash_path, '-c', self.bash_command],
env=env,
output_encoding=self.output_encoding,
cwd=self.cwd,