#!/bin/bash
#ip文件的路径
ip_file=/Users/hyhnm/script/ip
#读取ip文件的行数
ip_h=`cat /Users/hyhnm/script/ip | wc -l`
#ssh用户存到容器
usr=root@
#ping ip 痛不痛,由于过程比较慢,不实用
function ping_ip()
{
ping -c1 $ip_c &> /dev/null
if [ $? -ne 0 ]
then
break
fi
}
function go_ip()
{
#遍历ip文件的所有ip
for (( i = 1; $i <= $ip_h; i++ ))
do
#如果不输入命令直接退出
if [ -z "$cmd" ]
then
exit
else
#获取每行数据,即ip地址
ip_c=`awk "NR==$i{print}" $ip_file`
echo "$ip_c,开始执行"
# ping_ip
#执行命令
ssh $usr$ip_c "$cmd;exit"
echo "$ip_c,执行完毕"
fi
done
}
#如果脚本为0 开始执行命令
if [ "$#" -eq 0 ]
then
while :
do
read -p '>>>' cmd
go_ip
done
#有命令的话,命令1 传到cmd执行命令
else
while :
do
#命令传到cmd
cmd=$1
#执行命令
go_ip
done
fi
转载于:https://www.cnblogs.com/hyhnm/p/6628459.html