脚本能够实现ping通局域网内主机
#!/bin/bash
read -p "please input your ip number: " ip
if [ -z $ip ];then
echo "please input nunmber"
exit
fi
if [[ $ip == *[!0-9]* ]];then
echo "please number"
exit
fi
if [ $ip -ge 1 -o $ip -le 254 ];then
ping -c 3 192.168.0.$ip &> /dev/null
if [ $? -eq 0 ];then
echo "$ip is ok"
else
echo "your ip is no ok"
fi
fi
编写过程问题
if语句采用正则表达式必须使用[[]]来进行编写
if [[ $ip == *[!0-9]* ]];then
echo "please number"
exit
fi
需要注意使用符号和参数的区别
if[ $ip -ge 1 -o $ip -le 254 ] #使用-o参数时
if[ $ip -ge 1 ] || [ $ip -le 254 ] #使用符号时
-a 等于 && 或
-o 等于 || 与