如何编写使用for循环和ssh登录多个服务器的脚本?

如何编写使用for循环和ssh登录多个服务器的脚本?

我想使用 for 循环和 ssh 编写一个脚本来登录多个服务器。使用 awk 命令登录后,我想将第七列打印为输出。

我尝试了下面的脚本但无法解决。

我在 中创建了一个 IP 列表/tmp/list

for i in `cat /tmp/list`
do
echo $i
echo "***********"
ssh $i |grep tsm |awk -F : '{print $7, "\t"}'
echo
done

答案1

噗噗使这变得更容易,但对于您的简单用例ssh也适用。

虽然您上面的内容可能有效,但前提是服务器设置为运行命令并在登录时退出(这有点不太可能),您的意思可能是这样的:

ssh $i <command> | grep tsm | ...

如果您确实需要检查 的登录横幅tsm,请尝试使用命令exit立即从 ssh 返回,而不是启动交互式 shell:

ssh $i "exit" | grep tsm | ...

相关内容