運維角度來說,寫shell腳本經(jīng)常會遇到判斷輸入的值是否合法,比如IP、郵件地址等。那么,根據(jù)自身寫腳本中總結(jié)的判斷IP合法性腳本分享給網(wǎng)友,遇到時能有所參考。
創(chuàng)新互聯(lián)公司從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站設(shè)計制作、網(wǎng)站設(shè)計網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元易門做網(wǎng)站,已為上家服務(wù),為易門各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220思路:IP由四位數(shù)字組成,以點分割,每個字段不能大于255,必須符合這種格式
方法1:
#!/bin/bash # blog: http://lizhenliang.blog.51cto.com function check_ip() { IP=$1 VALID_CHECK=$(echo $IP|awk -F. '$1<=255&&$2<=255&&$3<=255&&$4<=255{print "yes"}') 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 # blog: http://lizhenliang.blog.51cto.com 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
加個循環(huán),如果錯誤則重新輸入,直到正確:
#!/bin/bash # blog: http://lizhenliang.blog.51cto.com function check_ip() { local IP=$1 VALID_CHECK=$(echo $IP|awk -F. '$1<=255&&$2<=255&&$3<=255&&$4<=255{print "yes"}') 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
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。