写一个计算子网ip数量,可用地址段,广播地址,子网掩码的脚本如:输192.168.1.11/24
计算出
子网掩码:255.255.255.0
主机数:254
子网地址:192.168.1.0
广播地址:192.168.1.255
第一个可用地址:192.168.1.1
最后一个可用地址:192.168.1.254
{{{密码回复可见}}}
计算出
子网掩码:255.255.255.0
主机数:254
子网地址:192.168.1.0
广播地址:192.168.1.255
第一个可用地址:192.168.1.1
最后一个可用地址:192.168.1.254
{{{密码回复可见}}}
0
本帖最后由 wsw13640218682 于 2016-5-3 23:21 编辑
- #!/bin/bash
- ###by wang
- read -p "you input: " a
- while :;
- do
- subnet=$(echo "$a" | awk -F'[./;]' -vOFS=. '{print $1,$2,$3}')
- mask=$(echo "$a" | awk -F'[/;]' '{print $2}')
- zwym=`ipcalc -m $a |awk -F= '{print $2}'`
- kydz=`echo $a|awk -F. '{print 255-254}'`
- lydz=`echo $a|awk -F. '{print 255-1}'`
- subnet_t=$(printf '0x%.2x%.2x%.2x%.2x\n' $(echo $subnet | tr '.' ' ' ))
- mask_t=$((0xFFFFFFFF>>$mask))
- brd_t=$((subnet_t|mask_t))
- brd=$((($brd_t>>24)&0xff)).$((($brd_t>>16)&0xff)).$((($brd_t>>8)&0xff)).$(($brd_t&0xff))
- echo "网络地址:$mask_t"
- echo "子网掩码:$zwym"
- echo "主机数:$lydz"
- echo "子网地址:$subnet.0"
- echo "广播地址:$brd"
- echo "第一个可用地址:$subnet.$kydz"
- echo "最后一个可用地址:$subnet.$lydz"
- break
- done
0
{:6_137:}我刚看到你的代码,你谦虚了!你写的不错嘛。比我的简洁多了
wsw13640218682 发表于 2016-5-3 23:20
我写的效果不太理想..还是maria大神的脚本写得好
{:6_137:}我刚看到你的代码,你谦虚了!你写的不错嘛。比我的简洁多了
编辑回复