有些时候,很多人在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]