From e54b4b1c9aa4d14ebf31c52462adffdf966efe16 Mon Sep 17 00:00:00 2001 From: Daniel Hokka Zakrisson Date: Tue, 27 Nov 2012 21:58:32 +0100 Subject: [PATCH] Ignore arguments when checking for interpreter, and re-add before use --- lib/ansible/runner/__init__.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/ansible/runner/__init__.py b/lib/ansible/runner/__init__.py index 9fd93449c7..d41cf623ac 100644 --- a/lib/ansible/runner/__init__.py +++ b/lib/ansible/runner/__init__.py @@ -28,6 +28,7 @@ import collections import socket import base64 import sys +import shlex import ansible.constants as C import ansible.inventory @@ -542,10 +543,12 @@ class Runner(object): shebang = None if lines[0].startswith("#!"): shebang = lines[0] - interpreter_config = 'ansible_%s_interpreter' % os.path.basename(shebang) + args = shlex.split(str(shebang[2:])) + interpreter = args[0] + interpreter_config = 'ansible_%s_interpreter' % os.path.basename(interpreter) if interpreter_config in inject: - lines[0] = shebang = "#!%s" % inject[interpreter_config] + lines[0] = shebang = "#!%s %s" % (inject[interpreter_config], " ".join(args[1:])) module_data = "\n".join(lines) self._transfer_str(conn, tmp, module_name, module_data)