shell脚本;if语句测试ping

脚本能够实现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 等于 || 与

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值