Shell selection support via ENV

CDIST_LOCAL_SHELL for local scripts
CDIST_REMOTE_SHELL for remote scripts
This commit is contained in:
Daniel Heule 2014-01-20 20:30:37 +01:00
parent 4bd6158260
commit 64f4cff3cb
4 changed files with 13 additions and 10 deletions

View file

@ -188,7 +188,7 @@ class Local(object):
Return the output as a string.
"""
command = ["/bin/sh", "-e"]
command = [ os.environ.get('CDIST_LOCAL_SHELL',"/bin/sh") , "-e"]
command.append(script)
return self.run(command=command, env=env, return_output=return_output, message_prefix=message_prefix)

View file

@ -113,7 +113,7 @@ class Remote(object):
"""
command = ["/bin/sh", "-e"]
command = [ os.environ.get('CDIST_REMOTE_SHELL',"/bin/sh") , "-e"]
command.append(script)
return self.run(command, env, return_output)

View file

@ -45,10 +45,7 @@ class Shell(object):
"""Select shell to execute, if not specified by user"""
if not self.shell:
if 'SHELL' in os.environ:
self.shell = os.environ['SHELL']
else:
self.shell = "/bin/sh"
self.shell = os.environ.get('SHELL',"/bin/sh")
def _init_files_dirs(self):
self.local.create_files_dirs()

View file

@ -132,6 +132,12 @@ TMPDIR, TEMP, TMP::
more information. This is rather useful, if the standard
directory used does not allow executables.
CDIST_LOCAL_SHELL::
Selects shell for local script execution, defaults to /bin/sh
CDIST_REMOTE_SHELL::
Selects shell for remote scirpt execution, defaults to /bin/sh
EXIT STATUS
-----------