在xargs命令中添加其他数据?

时间:2017-07-19 14:57:09

标签: linux salt-stack xargs

我正在研究一个Linux服务器并且有一个服务器列表我想用盐堆栈(DSC工具)控制我在linux +上工作时遇到了一个非常简洁的命令 - xargs I我一直在使用它来简化我的linux管理生活,然而我遇到了一个问题,我想知道是否有一个简单的解决方案

我正在追踪整个环境中的一些ntp问题,但问题是我没有在数据集中附加FQDN的服务器列表。不幸的是,盐需要fqdn来查看设备,否则每次都会出错。现在我可以将列表放入记事本++并以这种方式处理.servers.fakefqdn.com,但我想知道是否有办法在命令本身中执行此操作

这是我当前的命令:

cat servers | xargs -I % sudo salt % cmd.run 'date'

是否可以执行以下操作:

cat servers | xargs -I % sudo salt %+.servers.fakefqdn.com cmd.run 'date'

所以如果我的服务器列表在哪里:

Bobsburgers
SouthPark
RickAndMorty

xargs命令的最终目标将运行以下命令:

salt Bobsburgers.servers.fakefqdn.com cmd.run 'date'
salt SouthPark.servers.fakefqdn.com cmd.run 'date'
salt RickAndMorty.servers.fakefqdn.com cmd.run 'date'

2 个答案:

答案 0 :(得分:1)

for server in $(< servers); do echo salt ${server}.servers.fakefqdn.com cmd.run 'date'; done

答案 1 :(得分:0)

使用xargs,这应该可以正常工作:

cat servers | xargs -I % sudo salt %.servers.fakefqdn.com cmd.run 'date'