新聞中心
這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Linux shell判斷IP合法性具體方法
運(yùn)維角度來說,寫shell腳本經(jīng)常會(huì)遇到判斷輸入的值是否合法,比如IP、郵件地址等。那么,根據(jù)自身寫腳本中總結(jié)的判斷IP合法性腳本分享給網(wǎng)友,遇到時(shí)能有所參考。

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、太湖網(wǎng)絡(luò)推廣、小程序定制開發(fā)、太湖網(wǎng)絡(luò)營(yíng)銷、太湖企業(yè)策劃、太湖品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供太湖建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com
思路:IP由四位數(shù)字組成,以點(diǎn)分割,每個(gè)字段不能大于255,必須符合這種格式。
方法1:
#!/bin/bash
function check_ip() {
IP=$1
VALID_CHECK=$(echo $IP|awk -F. '$1) if echo $IP|grep -E "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$">/dev/null; then if [ ${VALID_CHECK:-no} == "yes" ]; then echo "IP $IP available." else echo "IP $IP not available!" fi else echo "IP format error!" fi } # Example check_ip 192.168.1.1 check_ip 256.1.1.1方法2:
#!/bin/bash
function check_ip() {
IP=$1
if [[ $IP =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
FIELD1=$(echo $IP|cut -d. -f1)
FIELD2=$(echo $IP|cut -d. -f2)
FIELD3=$(echo $IP|cut -d. -f3)
FIELD4=$(echo $IP|cut -d. -f4)
if [ $FIELD1 -le 255 -a $FIELD2 -le 255 -a $FIELD3 -le 255 -a $FIELD4 -le 255 ]; then
echo "IP $IP available."
else
echo "IP $IP not available!"
fi
else
echo "IP format error!"
fi }
# Example
check_ip 192.168.1.1
check_ip 256.1.1.1
加個(gè)循環(huán),如果錯(cuò)誤則重新輸入,直到正確:
#!/bin/bash
function check_ip() {
local IP=$1
VALID_CHECK=$(echo $IP|awk -F. '$1) if echo $IP|grep -E "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" >/dev/null; then if [ $VALID_CHECK == "yes" ]; then echo "IP $IP available!" return 0 else echo "IP $IP not available!" return 1 fi else echo "IP format error!" return 1 fi } while true; do read -p "Please enter IP: " IP check_ip $IP [ $? -eq 0 ] && break done 當(dāng)前名稱:Linux shell判斷IP合法性具體方法
網(wǎng)站URL:http://www.dlmjj.cn/article/djjiigh.html


咨詢
建站咨詢
