Shell selection support via ENV

CDIST_LOCAL_SHELL for local scripts
CDIST_REMOTE_SHELL for remote scripts
remotes/origin/3.0
Daniel Heule 11 years ago
parent 4bd6158260
commit 64f4cff3cb
  1. 2
      cdist/exec/local.py
  2. 2
      cdist/exec/remote.py
  3. 5
      cdist/shell.py
  4. 14
      docs/man/man1/cdist.text

@ -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)

@ -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)

5
cdist/shell.py vendored

@ -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()

@ -127,10 +127,16 @@ usage: __git --source SOURCE [--state STATE] [--branch BRANCH]
ENVIRONMENT
-----------
TMPDIR, TEMP, TMP::
Setup the base directory for the temporary directory.
See http://docs.python.org/py3k/library/tempfile.html for
more information. This is rather useful, if the standard
directory used does not allow executables.
Setup the base directory for the temporary directory.
See http://docs.python.org/py3k/library/tempfile.html for
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

Loading…
Cancel
Save