Ansible变量长度命令行选项

3
我将尝试使用shell或者command创建一个指令,用于执行任意数量的命令行参数。类似下面的语句:
- Name:  Runs MediaWiki command line setup.
  command:  "php /opt/wiki/maintanance/install.php {{ arguments }}"

我正在寻找类似于[item for "%s=%s % (key, value) in arguments"]的东西。

查看ansible变量,我看到所有内容都想在任何数据结构上循环每个命令。

有人知道将命令的任意参数列表连接起来的最佳方法以及在变量文件中组织它的最佳方法吗?

1个回答

1
如果arguments是一个列表,您可以使用join filter
- Name:  Runs MediaWiki command line setup.
  command:  "php /opt/wiki/maintanance/install.php {{ arguments | join }}"

如果arguments是一个字典,你可能可以像这样做:
- Name:  Runs MediaWiki command line setup.
  command:  "php /opt/wiki/maintanance/install.php {{ arguments | urlencode | replace('&', ' ') }}"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接