#!/bin/bash
################# 切换为阿里云yum 源 #################
#!/bin/bash
azyum(){
alyum="/etc/yum.repos.d/epel-7.repo"
if [ -e $alyum ]; then # if -e 判断文件存在: 参考:Shell if 条件判断文件或目录
echo "您已经安装阿里云yum源"
else
echo "您还没有安装阿里云yum源,正在安装中。。。"
yum install -y wget
cd /etc/yum.repos.d/
mkdir bak
mv * bak
wget http://mirrors.aliyun.com/repo/Centos-7.repo
wget http://mirrors.aliyun.com/repo/epel-7.repo
# 移动两个文件到 目录
yum clean all # 清除原有缓存
yum makecache # 生成新的缓存
# make cache [meɪk] [kaʃ] 制作 缓存{ka xi}
yum list # 校验yum
fi
}
azyum
yum install -y tcping # 安装tcping 端口连通性测试工具
################# IP 端口连通性测试 #################
#!/bin/bash
ipw(){ # warehouse [ˈwɛːhaʊs] 仓库; 定义函数一个方法此处是手动输入IP
ip=(
192.168.1.1
192.168.1.2
192.168.1.3
)
}
# ip放出来才执行
ipd(){ # Segment [ˈsɛɡ m(ə)n t] 段落。ip段; 定义IP段函数
ipSegment=192.168.1
for((i=1;i<=254;i++));do
ip[$c]=`echo "$ipSegment.$i" `
((c++))
done
}
CStcping(){
ipd
ip=${ip[*]}
echo "所有 IP:" $ip"所有 IP 打印结束!"
port=22
gs=${#ip[*]}
echo "IP个数为:$gs"
for((i=0;i<=$gs;i++))
do
tcping -t3 ${ip[$i]} $port &>/dev/null # tcping -t3 单个IP等待时间2秒;用循环来数数,数组ip 的角标 第一次for循环${ip[$1]} 第二次 ${ip[$2]}
if [ $? -eq 0 ]; then # $? 获取上一条命令执行的状态,正确执行返回 0 ; 错误执行返回2
echo ${ip[$i]} "该IP正常ping通端口: $port "
else
echo "ping端口:$port +++++++++++++++++++++++++++++==> 失败 ${ip[$i]}"
fi
done
}
CStcping # 调用方法不能使用保留关键字,tcping 现在是一个命令,与方法冲突