我想使用 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 | ...