首页 > 解决方案 > 如何在ansible的一行中运行多个命令

问题描述

我需要在一行中运行两个 ansible 命令。在运行命令时,它只接受第二个命令。

ansible -i list  cdlk -a "touch /tmp/a" -a "touch /tmp/b" --private-key=/tmp/id_rsa

我创建了一个名为 list 的文件,在运行此命令后,仅创建了 /tmp/b 文件。如何在单行中运行多个命令?

标签: ansible

解决方案


默认情况下,ansible CLI 使用命令模块,它不会通过 shell 提供其参数。根据要求更改参数。下面共享一个示例

您想改用 shell 模块:

ansible host -m shell -a 'echo hello && echo world'

推荐阅读