我有一个脚本,通过ssh连接在几台不同的机器上执行远程命令。 脚本大致如下:
for server in list; do
echo "output from $server"
ssh to server execute some command
done
这个问题显然在于时间,因为它需要建立ssh连接、发送命令、等待回复并打印。我希望有一个脚本可以尝试一次性建立所有连接,并在接收到输出和命令输出后返回echo“$server的输出”,所以不必按列表顺序。
我已经搜索了一段时间,但没有找到答案。如其他帖子中所建议的单线程运行命令后无法取消ssh会话,因为我需要输出,而且不能使用其他工具,只能使用GNU Bash,版本为4.1.2(1)-release。
另一个问题是像这样的ssh会话如何限制?如果我简单地粘贴5行或更多的“ssh连接,执行命令”的命令行,它实际上什么都不做,或者只在列表中的第一条执行。(如果我粘贴3-4行,则可以正常工作)。谢谢。