在while循环期间通过SSH执行命令



我在一个文件中有一个服务器列表,我将调用"盒子">

我正在运行以下内容:

bastion:~ # while read i j; do ssh -n $i 'echo $(hostname)'; done < boxes

当我运行这个程序时,我应该得到我应该SSHing进入的每个盒子的主机名,对吗?但我得到的是我的主机名"堡垒";一遍又一遍,好像命令不是SSHing到任何盒子。

你知道为什么会这样,或者我在这里做错了什么吗?

谢谢。

编辑:我无法让SSH为这个任务工作。最后,我把ssh换成了ansible-m shell。

hostname足够

我最喜欢的GNU并行(更快(sudo apt-get install parallel解决方案

parallel --nonall --slf boxes hostname

您可以添加--tag和更多https://www.gnu.org/software/parallel/parallel_tutorial.html

最新更新