我有一个包含主机信息的文件,一个主机一行
host1
host2
host3
我想做的是
ssh host1 'my command'
ssh host2 'my command'
ssh host3 'my command'
如何使用一行命令来实现它(不是复杂的shell脚本),谢谢
答案 0 :(得分:1)
这对你想要的东西来说太复杂了吗?
for h in $(<file); do ssh $h 'my command'; done
另一种可能性:
cat file | xargs -I% -- ssh % 'my command'
或更短:
<file xargs -I% -- ssh % 'my command'
如果您确定ssh命令中没有任何-
选项,则或更短:
<file xargs -I% ssh % 'my command'
答案 1 :(得分:0)
while read -r line; do ssh "$line" 'my command'; done < host
该命令将逐行读取文件,并将每一行保存到变量$line
中。并使用$line