使用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模块在远程节点上执行根据模板配置的脚本。如果您有一个带有换行符或空格的长字符串,则更愿意使用单个配额将其作为一个字符串传递 另外,您可能会发现它是stdout或stdout\u行的有用结尾
- name: script
script: "{{ role_path }}/scripts/script.sh '{{ myvar.stdout }}'"
为什么不试试呢?:)我已经试过了,看起来好像不起作用。我想确认或解决方法..Thks,我的var是密码,因此我将使用模板解决方案。