summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--python/mach/mach/mixin/process.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/python/mach/mach/mixin/process.py b/python/mach/mach/mixin/process.py
index a6d3a2a1bb..b8f0eac029 100644
--- a/python/mach/mach/mixin/process.py
+++ b/python/mach/mach/mixin/process.py
@@ -17,14 +17,16 @@ from .logging import LoggingMixin
# Perform detection of operating system environment. This is used by command
-# execution. We only do this once to save redundancy. Yes, this can fail module
-# loading. That is arguably OK.
+# execution. We only do this once to save redundancy. Fall back to checking
+# existence of /bin/sh if environment detection fails.
if 'SHELL' in os.environ:
_current_shell = os.environ['SHELL']
elif 'MOZILLABUILD' in os.environ:
_current_shell = os.environ['MOZILLABUILD'] + '/msys/bin/sh.exe'
elif 'COMSPEC' in os.environ:
_current_shell = os.environ['COMSPEC']
+elif os.path.exists("/bin/sh"):
+ _current_shell = '/bin/sh'
else:
raise Exception('Could not detect environment shell!')