linux 判断指针是否可读_linux - 用shell脚本判断字符串是否是合法IP

简介

ed5afb71a52021ec2f55109d44cd544f.png

写脚本的时候,需要判断IP是否是合法IP,再进行设置。

什么样子的字符串是合法 IP

IPv4 使用 32 位(4 字节)地址,即

8 bit/byte *4 byte = 32 bit

二进制范围:

00000000.00000000.00000000.00000000 - 11111111.11111111.11111111.11111111

因此,只要判断是在这个范围就可以,判断是否是合法 IP?

0062b350261514c63892fd289ba450c1.png

脚本

分解判断:

  • 判断是否是ipv4格式
  • 判断值是否合法
#!/bin/baship=$1if [ "$ip" == "" ]; then    echo "usage : $0 ip"    exit 1fierr_mssage="$ip is invalid ipv4"if !( echo $ip | grep -E '^[[:digit:]].[[:digit:]].[[:digit:]].[[:digit:]]$' >>/dev/null); then    echo $err_mssage    exit 1fiplace1=$(echo $ip | awk -F "." '{print $1}')place2=$(echo $ip | awk -F "." '{print $2}')place3=$(echo $ip | awk -F "." '{print $3}')place4=$(echo $ip | awk -F "." '{print $4}')function check_number() {    number=$1    if [[ $number -ge 0 && $number -le 255 ]]; then        return 0    fi    echo $err_mssage    return 1}check_number $place1 || exit 1check_number $place2 || exit 1check_number $place3 || exit 1check_number $place4 || exit 1echo $ip is ipv4
8145aa94f71017ff2a92798afd3523ed.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值