注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

linux++的博客

LINUX+ORACLE+NBA+GAME=NET

 
 
 

日志

 
 

计算networkid netmask broadcast  

2009-02-02 12:36:27|  分类: linux |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

#!/bin/bash

if [ $# -ne 2 ];then
echo "Usage:./net.sh ipaddress netmask"
exit
fi

ip=(${1//[![:digit:]]/ })
echo "$ip"
mask=(${2//[![:digit:]]/ })

for i in ${mask[*]}
do
j=7
tag=1
while [ $j -ge 0 ]
do
k=$((2**$j))
if [ $(( $i & $k )) -eq $k ]; then
if [ $tag -eq 1 ]; then
(( n += 1 ))
else
echo -e "\n$2 is a bad netamsk with holes\n"
exit
fi
else
tag=0
fi
(( j -= 1 ))
done
done

for i in 0 1 2 3
do
a=$a${a:+.}$((${ip[i]} & ${mask[i]}))
b=$b${b:+.}$((${ip[i]} | (${mask[i]} ^ 255)))
done

echo Network number: $a
echo Broadcast address: $b
echo Netmask bits: $n

  评论这张
 
阅读(126)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017