Open
Description
When running command with 1+ arguments against a docker host, the command automatically fails with line 1: syntax error: unterminated quoted string
. The is because the quote
method in backend/base.py
is using pipes.quote
(which is only compatible with posix systems) to generate quotes, and sometimes uses single quotes to enclose an arg. The default shell in windows is cmd
, which does not accept single quoted args (only double quoted). On windows, a more accurate command would be something like this:
@staticmethod
def quote(command, *args):
def anon_1(arg):
if re.match(r'/("|\s|\')', arg) != None:
return arg
arg = re.sub('"', '\"', arg)
return '"%s"' % (arg)
if args:
return command % tuple(anon_1(a) for a in args)
# return command % tuple(pipes.quote(a) for a in args)
return command