Allow unsetting env vars (#7)

This commit is contained in:
Andrew Gaffney
2020-04-23 10:57:52 -05:00
committed by GitHub
parent 5b17c47723
commit 7e70deb734
2 changed files with 14 additions and 2 deletions

View File

@@ -4,6 +4,8 @@
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
from ansible.module_utils.six import text_type
from ansible.module_utils.six.moves import shlex_quote
from ansible.plugins.shell import ShellBase
DOCUMENTATION = '''
@@ -35,4 +37,8 @@ class ShellModule(ShellBase):
_SHELL_GROUP_RIGHT = ')'
def env_prefix(self, **kwargs):
return 'env %s' % super(ShellModule, self).env_prefix(**kwargs)
ret = []
# All the -u options must be first, so we process them first
ret += ['-u %s' % k for k, v in kwargs.items() if v is None]
ret += ['%s=%s' % (k, shlex_quote(text_type(v))) for k, v in kwargs.items() if v is not None]
return 'env %s' % ' '.join(ret)