生活随笔
收集整理的這篇文章主要介紹了
Shell脚本之IP网络地址和广播地址计算
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
這是一篇舊時(shí)習(xí)作,Shell腳本練得多了,想練練移位計(jì)算,就有了下面的腳本。
#!/bin/bash
IPPattern="(\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.){3}\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>"
maskPattern="[1-9]|[12][0-9]|3[01]"while?:
doecho?-e?-n?"Please?input?a?legal?IP?address?[such?as?192.168.1.1/16]:?"read?userInputIPMask=`echo?$userInput?|?egrep?"$IPPattern/$maskPattern"`??#Such?as?192.168.1.1/24if?[?-z?"$IPMask"?]?;thenecho?"Please?input?the?right?format.?[such?as?192.168.1.1/1-31]?"continuefiIPAddr=`echo?$IPMask?|?cut?-d/?-f1`IPType[1]=`echo?$IPAddr?|?cut?-d.?-f1`IPType[2]=`echo?$IPAddr?|?cut?-d.?-f2`IPType[3]=`echo?$IPAddr?|?cut?-d.?-f3`IPType[4]=`echo?$IPAddr?|?cut?-d.?-f4`mask=`echo?$IPMask?|?cut?-d/?-f2`echo?"IP?address?is?${IPType[1]}*${IPType[2]}*${IPType[3]}*${IPType[4]}?,?Mask?is?$mask?."((IPHex[1]=IPType[1]<<24))((IPHex[2]=IPType[2]<<16))((IPHex[3]=IPType[3]<<8))((IPHex[4]=IPType[4]))#192?c0?;?1?1?1((iph=${IPHex[1]}+${IPHex[2]}+${IPHex[3]}+${IPHex[4]}))#echo?$iph#0xffffffff#declare?-i?strMask1=4294967295declare?-i?strMask1=0xffffffff#echo?$strMask1((strMask1=strMask1<<(32-mask)?&?0xffffffff))#echo?$strMask1((strMask2=~strMask1))#echo?$strMask2((networkAddr=iph?&?strMask1))((bcastAddr=?(iph?|?strMask2)?&??0xffffffff))#echo?$networkAddr?|?awk?'{printf?"%x\n",$0}'#echo?$bcastAddr?|?awk?'{printf?"%x\n",$0}'((IPHex[1]=networkAddr>>24?&?0x000000ff))((IPHex[2]=networkAddr>>16?&?0x000000ff))((IPHex[3]=networkAddr>>8?&?0x000000ff))((IPHex[4]=networkAddr?&?0x000000ff))echo?-e?"Network?Address???:?${IPHex[1]}.${IPHex[2]}.${IPHex[3]}.${IPHex[4]}"((IPHex[1]=bcastAddr>>24?&?0x000000ff))((IPHex[2]=bcastAddr>>16?&?0x000000ff))((IPHex[3]=bcastAddr>>8?&?0x000000ff))((IPHex[4]=bcastAddr?&?0x000000ff))echo?-e?"Broadcast?Address?:?${IPHex[1]}.${IPHex[2]}.${IPHex[3]}.${IPHex[4]}"
done
轉(zhuǎn)載于:https://blog.51cto.com/me2xp/1739208
總結(jié)
以上是生活随笔為你收集整理的Shell脚本之IP网络地址和广播地址计算的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。