您的位置:首页 > 文档 > Shell >
 文章分类 

一个把IP地址转化为长整数的脚本


创建:2005-10-26 00:49:44
作者:Unlinux
来自: http://www.Unlinux.com

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

转载自:http://www.unlinux.com/doc/shell/20051026/171.html

评论】 【加入收藏夹】 【 】 【打印】 【关闭
 *  请尊重我们的劳动,转载请注明出自UnLinux.Com及作者名 * 

※ 相关链接
 ·一个杀死终端所有进程的 Shell  (2005-10-26 00:49:44)
 ·一个判断文件日期的问题  (2005-10-26 00:49:44)
 ·一个排序脚本  (2005-10-26 00:49:44)
 ·怎么把一个文本的一列,换成一行  (2005-10-26 00:49:43)
 ·找出一个文件中出现某str的次数  (2005-10-26 00:49:43)
 ·在每个文件夹下建一个.qmail文件  (2005-10-26 00:49:43)
 ·在shell程序中判断一个变量是不是由4个数字组成  (2005-10-26 00:49:43)
 ·如何计算一个日期是星期几  (2005-10-26 00:49:42)
 ·删除一个月以前的文件  (2005-10-26 00:49:42)
 ·请问这个sed -n '1p' filename中的1能用一个变量来代替吗  (2005-10-26 00:49:41)

Copyright © 2005 UnLinux.Com All Rights Reserved