Linux中检查字符串是否为合法IP地址的shell脚本
2024-08-31 02:05:18
#!/bin/bash
#判断IP地址是否为有效IP
CHKECK_IP () {
CHECK_STEP1=`echo $1 | awk -F"." '{print NF}'`
if [ $CHECK_STEP1 -eq 4 ] || [ $CHECK_STEP1 -eq 6 ]
then
CHECK_STEP2=`echo $1 | awk -F"." '{if ($1!=0 && $NF!=0) split ($0,IPNUM,".")} END \
{ for (k in IPNUM) if (IPNUM[k]==0) print IPNUM[k]; else if (IPNUM[k]!=0 && IPNUM[k]!~/[a-z|A-Z]/ && length(IPNUM[k])<=3 &&
IPNUM[k]<255 && IPNUM[k]!~/^0/) print IPNUM[k]}'| wc -l`
if [ $CHECK_STEP2 -eq $CHECK_STEP1 ]
then
echo 0
else
echo 1
fi
else
echo 1
fi
}
IPADDR=$1
CHECK_IPADDR=`CHKECK_IP $IPADDR`
if [ $CHECK_IPADDR -eq 1 ]
then
echo "这个 $IPADDR 不是正确合法的有效IP !"
exit 110
fi
最新文章
- VC6在win7环境下无法添加以及打开现有文件的解决办法
- swoole
- Linux cscope命令
- Time.deltaTime 增量时间
- 用仿ActionScript的语法来编写html5——第九篇,仿URLLoader读取文件
- Linux 文件操作总结
- Android——横屏和竖屏的切换,以及明文密码的显示
- lintcode 中等题:A + B Problem A + B 问题
- DB2删除数据时的小技巧
- HDU 1018 Big Number
- [wikioi]奇怪的梦境
- angularJS 指令一
- 在终端(Terminal)里用命令行进行数学运算
- NYOJ-1057 寻找最大数(三)(贪心)
- MVC3+EF4.1学习系列(十一)----EF4.1常见的问题解决
- HTTP协议详解(三)
- C# 操作注册表WindowsRegistry
- 让一个继承unittest.TestCase的类下的setUp和tearDown只执行一次
- [hive] hive cli 命令行
- 怎么处理stdClass::__set_state