运行脚本 - 路径中有空格,参数和参数值的变量 - 使用脚本模块?

时间:2016-06-21 20:16:21

标签: ansible

我在剧本中的任务:

- name: Run a script
  script: '"./files/name of a script.ps1" -Param1 {{ variable_name }}'

以上只是我尝试引用/逃避的最新尝试。无论如何,当我运行包含上述任务的剧本时,我收到这样的错误:

TASK [Run a script] *****************************
task path: /etc/ansible/playbook.yml:38
<192.168.200.245> ESTABLISH WINRM CONNECTION FOR USER: SOME-HOST\Administrator on PORT 5986 TO 192.168.200.245
<192.168.200.245> EXEC Set-StrictMode -Version Latest
(New-Item -Type Directory -Path $env:temp -Name "ansible-tmp-1466538051.8-95578181041077").FullName | Write-Host -Separator '';
<192.168.200.245> PUT "/etc/ansible/"./files/name\" TO "C:\Users\Administrator\AppData\Local\Temp\ansible-tmp-1466537998.0-243829631467080\name"
fatal: [some-host]: FAILED! => {"failed": true, "msg": "file or module does not exist: \"/etc/ansible/\"./files/name\\\""}

这也不起作用,并且失败并出现与上述相同的错误:

  script: ./files/name\ of\ a\ script.ps1 -Param1 {{ variable_name }}

我正在运行Ansible版本2.1.0.0(根据我的控制台上的ansible --version)。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

This is either a 'bug'

  

请在the ansible/ansible project下提交一个关于此问题的错误 - 看起来它不是特定于Windows的问题,因为它失败了。不能保证我们能够正确地穿针以将脚本名称与free_form脚本arg中的args分开,但是其他人要求在我们的脚本动作中更明确地区分脚本名称和args ,这对它来说是一个很好的例子。

or a 'missing feature'