Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ansible变量运行脚本模块_Ansible - Fatal编程技术网

使用ansible变量运行脚本模块

使用ansible变量运行脚本模块,ansible,Ansible,我有一个任务: - name: script script: "scripts/script.sh" 在这个脚本中,我想使用类似{{myvar}的ansible变量 可能吗 THKS据我所知,没有一种方法可以像您所描述的那样,直接在a中使用Ansible变量 有许多不同的方法来实现我认为你追求的行为 第一个选项是编写脚本,使所需的变量值可以作为参数传入。如脚本模块文档中所述: 脚本模块采用脚本名称,后跟以空格分隔的参数列表 因此,您可以运行将变量作为参数的脚本,如: - name: scr

我有一个任务:

- name: script
  script: "scripts/script.sh"
在这个脚本中,我想使用类似{{myvar}的ansible变量

可能吗


THKS

据我所知,没有一种方法可以像您所描述的那样,直接在a中使用Ansible变量

有许多不同的方法来实现我认为你追求的行为

第一个选项是编写脚本,使所需的变量值可以作为参数传入。如脚本模块文档中所述:

脚本模块采用脚本名称,后跟以空格分隔的参数列表

因此,您可以运行将变量作为参数的脚本,如:

- name: script
  script: scripts/script.sh {{myvar}}

另一个选项是脚本,并使用Ansible模块将变量值直接替换到脚本中。然后,您可以使用或Ansible模块在远程节点上执行根据模板配置的脚本。

如果您有一个带有换行符或空格的长字符串,则更愿意使用单个配额将其作为一个字符串传递

另外,您可能会发现它是stdoutstdout\u行的有用结尾

- name: script
  script: "{{ role_path }}/scripts/script.sh '{{ myvar.stdout }}'"

为什么不试试呢?:)我已经试过了,看起来好像不起作用。我想确认或解决方法..Thks,我的var是密码,因此我将使用模板解决方案。