脚本实现:远程获得1-10号主机的主机名

#!/bin/bash
Auto_SSH()                  ###ssh连接函数,达到免输入自动连接功能
{
/usr/bin/expect <<-EOF              ###在sh环境下调用expect环境
spawn ssh root@$1 hostname   ###执行指令
expect {
"yes/no" { send "yes\r" ; exp_continue }
"password" { send "westos\r" }
}
expect eof
EOF
}

for IP in {1..10}                                  ##循环调用自动ssh连接函数,使自动尝试连接主机
do
	ping -c1 -w1 172.25.254.$IP &> /dev/null
	if [ "$?" = "0" ]                                         ##退出值为0说明上一个命令执行正常
	then
	Auto_SSH 172.25.254.$IP | tail -n 1                   ###如果可以ping通,就执行函数,并输出hostname结果第一行
	fi
done 

这个脚本是有前提的,即密码都统一为westos。这里我们将范围扩大到了12,因为主机IP正好为12。【用虚拟机进行实验】

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值