diff --git a/envsetup.py b/envsetup.py index c804e17b9f6f3c0760766cfa29957b2614bfb3c6..7e038986ba1777e31774f047a32da98e6177c057 100755 --- a/envsetup.py +++ b/envsetup.py @@ -45,7 +45,7 @@ class EnvSetup(): setup_module = imp.load_source('setup_%s' % name, os.path.join(path, self.PY_SETUP_NAME)) self.actions.append(dict(index=index, label=label, path=path, fct=setup_module.setup)) elif os.path.isfile(os.path.join(path, self.BASH_SETUP_NAME)): - self.actions.append(dict(index=index, label=label, path=path, fct=os.path.join(path, self.BASH_SETUP_NAME))) + self.actions.append(dict(index=index, label=label, path=path, fct='bash -e "%s"' % os.path.join(path, self.BASH_SETUP_NAME))) else: self.actions.append(dict(index=index, label=label, path=path, fct=None)) self.actions.sort(key=lambda a: a['index']) @@ -155,7 +155,7 @@ class EnvSetup(): try: os.chdir(action['path']) if isinstance(action['fct'], str): - utils.run_commands(['\'%s\'' % action['fct']]) + utils.run_commands([action['fct']]) else: action['fct'](interactive) except Exception as e: