【发布时间】:2019-08-27 21:05:56
【问题描述】:
我希望在一行中获取 Linux 的多个命令的输出,如下所示。如您所见,ls 和 cksum 的输出打印在一行中。
# myvar=`ls -ltr test.yml; cksum<test.yml | tr '\n' '\t'`
# echo $myvar
输出: -rw-r--r--。 1根根298 May 3 04:46 test.yml 3415682946 298
现在,我希望在 Ansible 中做同样的事情,所以下面是 ansible 命令:
# ansible localhost -m shell -a "ls -ltr test.yml; cksum<test.yml | tr '\n' '\t'"
但是,您可以看到 cksum 的输出打印在第二行而不是第一行。
输出: 本地主机 |更改 | rc=0 >>
-rw-r--r--。 1根根298 May 3 04:46 test.yml
3415682946 298
使用命令模块会报错。
您能否帮助我了解如何调整 ansible 命令以在一行中同时获得 ls 和 cksum 的输出?
注意:您也可以在您的系统上快速对此进行测试。
【问题讨论】:
标签: shell ansible formatting command output