linux 字符串判断(linux-脚本判断字符串是否是合法IP)

 2024-11-17  阅读 803  评论 0

摘要:简介写脚本的时候,需要判断IP是否是合法IP,再进行设置。什么样子的字符串是合法 IPIPv4 使用 32 位(4 字节)地址,即8 bit/byte *4 byte = 32 bit二进制范围:00000000.00000000.00000000.00000000 - 11111111.11111

简介

linux 字符串判断(linux-脚本判断字符串是否是合法IP)(1)

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

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

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

8 bit/byte *4 byte = 32 bit

二进制范围:

00000000.00000000.00000000.00000000 - 11111111.11111111.11111111.11111111

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

linux 字符串判断(linux-脚本判断字符串是否是合法IP)(2)

脚本

分解判断:

  • 判断是否是ipv4格式
  • 判断值是否合法

#!/bin/bash ip=$1 if [ "$ip" == "" ]; then echo "usage : $0 ip" exit 1 fi err_mssage="$ip is invalid ipv4" if !( echo $ip | grep -E '^[[:digit:]].[[:digit:]].[[:digit:]].[[:digit:]]$' >>/dev/null); then echo $err_mssage exit 1 fi place1=$(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 1 check_number $place2 || exit 1 check_number $place3 || exit 1 check_number $place4 || exit 1 echo $ip is ipv4

linux 字符串判断(linux-脚本判断字符串是否是合法IP)(3)

,

版权声明:xxxxxxxxx;

原文链接:http://cn.tdroid.net/ce22dCz0EBQEEX1A.html

发表评论:

管理员

  • 内容266054
  • 积分0
  • 金币0
关于我们
lecms主程序为免费提供使用,使用者不得将本系统应用于任何形式的非法用途,由此产生的一切法律风险,需由使用者自行承担,与本站和开发者无关。一旦使用lecms,表示您即承认您已阅读、理解并同意受此条款的约束,并遵守所有相应法律和法规。
联系方式
电话:
地址:广东省中山市
Email:
注册登录
注册帐号
登录帐号

Copyright © 2022 太卓开发网 Inc. 保留所有权利。 泰达科技网易库网

页面耗时0.1144秒, 内存占用1.33 MB, 访问数据库18次