有些時候,很多人在pub網址的時候會使用一個長整數,這樣相對來說IP地址不易為被別人記住,但一樣可以在flashfXP等工具中使用,即使是ping也支持這種寫法,如:ping 16843009
PING 16843009: (1.1.1.1): 56 data bytes
不過我寫這個腳本的最初目的,只是為了用較短的代碼判斷輸入是不是一個符合格式的IP地址。
[code:1:65116d8eca]
#!/usr/bin/ksh
expr $1 : '^[1-9]\{1\}[0-9]\{0,2\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}$' >/dev/null 2>&1 { echo "bad ip address";exit; }
IFS=.
set $1
if [[ $1 -le 255 && $2 -le 255 && $3 -le 255 && $4 -le 254 ]]
then
echo $(($1*256*256*256+$2*256*256+$3*256+$4))
else
echo "still a bad ip"
fi
[/code:1:65116d8eca]