用正则或者什么来验证输入的IP地址是否合法,即0.0.0.0到255.255.255.255之间的数字,如果不是合法IP则验证是否为整数
哪位高手帮忙写下?
或者不用正则,用其他方法
linux的shell编程如何实现IP地址合法验证
答案:2 悬赏:30
解决时间 2021-03-22 23:59
- 提问者网友:温柔又任性
- 2021-03-22 03:26
最佳答案
- 二级知识专家网友:旧事诱惑
- 2021-03-22 04:50
if [ "$#" != "1" ]
then
echo usage:checkip.sh 192.0.0.1
exit 1
fi
ANSWER=$(echo $1 | awk -F '.' '$1 < 255 && $1 >= 0 && $2 < 255 && $2 >= 0 && $3 < 255 && $3 >= 0 && $4 < 255 && $4 >= 0 {print 1}')
#echo answer is $ANSWER
if [ "$ANSWER" == "1" ]
then
echo ok!
else
echo no!
fi
#saveas checkip.sh then chmod +x checkip.sh
then
echo usage:checkip.sh 192.0.0.1
exit 1
fi
ANSWER=$(echo $1 | awk -F '.' '$1 < 255 && $1 >= 0 && $2 < 255 && $2 >= 0 && $3 < 255 && $3 >= 0 && $4 < 255 && $4 >= 0 {print 1}')
#echo answer is $ANSWER
if [ "$ANSWER" == "1" ]
then
echo ok!
else
echo no!
fi
#saveas checkip.sh then chmod +x checkip.sh
全部回答
- 1楼网友:ー何必说爱
- 2021-03-22 05:17
我给出前三个的答案吧
#!/bin/bash
output=jk0701_xxx_ks.txt
/sbin/ifconfig eth0 | sed -n '/inet addr:/ s/inet addr:/ipaddr=/pg' | awk -f" " '{print $1}' >$output
/sbin/ifconfig eth0 | sed -n '/hwaddr/ s/^.*hwaddr */hwaddr=/pg' >> $output
netstat -an |grep ":23" |grep "established" | grep -cv "grep" >> $output
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯