我来出shell练习题六——子网ip计算器

回复 收藏
写一个计算子网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


{{{密码回复可见}}}


2016-04-20 20:52 举报
已邀请:
0

CNS2016

赞同来自:

看看
0

yuan2015

赞同来自:

看看
0

zgyizu

赞同来自:

这么难?
0

zgyizu

赞同来自:

学习了!
0

timfeng3535

赞同来自:

ddd
0

huanglin

赞同来自:

来看看
0

陈森林

赞同来自:

学习一下
0

shoswj001

赞同来自:

学了
0

vb3328998

赞同来自:

学习
0

clq56688

赞同来自:

学习下。
0

SunyBome

赞同来自:

答案
0

a1138665328

赞同来自:

看看
0

583938282

赞同来自:

不错
0

漠林sky

赞同来自:

学习
0

xzzlamp

赞同来自:

11
0

小璇Linux

赞同来自:

看看
0

tIl

赞同来自:

来学习了。
0

qq495966654

赞同来自:

学习
0

wsw13640218682

赞同来自:

本帖最后由 wsw13640218682 于 2016-5-3 23:21 编辑
  1. #!/bin/bash
  2. ###by wang
  3. read -p "you input: " a
  4. while :;
  5. do
  6.    subnet=$(echo "$a" | awk -F'[./;]' -vOFS=. '{print $1,$2,$3}')
  7.    mask=$(echo "$a" | awk -F'[/;]' '{print $2}')
  8.    zwym=`ipcalc -m  $a |awk -F= '{print $2}'`
  9.    kydz=`echo $a|awk -F. '{print 255-254}'`
  10.    lydz=`echo $a|awk -F. '{print 255-1}'`
  11.    subnet_t=$(printf '0x%.2x%.2x%.2x%.2x\n' $(echo $subnet | tr '.' ' ' ))
  12.    mask_t=$((0xFFFFFFFF>>$mask))
  13.    brd_t=$((subnet_t|mask_t))
  14.    brd=$((($brd_t>>24)&0xff)).$((($brd_t>>16)&0xff)).$((($brd_t>>8)&0xff)).$(($brd_t&0xff))
  15.    echo "网络地址:$mask_t"
  16.    echo "子网掩码:$zwym"
  17.    echo "主机数:$lydz"
  18.    echo "子网地址:$subnet.0"
  19.    echo "广播地址:$brd"
  20.    echo "第一个可用地址:$subnet.$kydz"
  21.    echo "最后一个可用地址:$subnet.$lydz"
  22. break
  23. done
0

wsw13640218682

赞同来自:


我写的效果不太理想..还是maria大神的脚本写得好{:5_121:}
0

q913555

赞同来自:

学习了
0

xsonboy

赞同来自:

学习一下
0

等风来

赞同来自:

学习
0

拉卡

赞同来自:

学习
0

licengceng

赞同来自:

学习
0

inzaghidai

赞同来自:

参考
0

不远晴空

赞同来自:

get
0

elvis

赞同来自:

ddd
0

monga

赞同来自:

学习
0

5as

赞同来自:

s
0

zjjjjy

赞同来自:

看不懂
0

gh0st

赞同来自:

{:5_130:}
0

王sir

赞同来自:

look
0

xigua

赞同来自:

学习
0

beafty

赞同来自:

学习,,,,
0

guo

赞同来自:

1
0

jxcia2018

赞同来自:

{:4_91:}
0

linuxs

赞同来自:

1
0

chyuanliu

赞同来自:

{:4_103:}
0

maria

赞同来自:

wsw13640218682 发表于 2016-5-3 23:20
我写的效果不太理想..还是maria大神的脚本写得好

{:6_137:}我刚看到你的代码,你谦虚了!你写的不错嘛。比我的简洁多了
0

maria

赞同来自:


我相信以你的聪明才智,再看一遍肯定就懂了{:6_137:}
0

hsm

赞同来自:

学习
0

hsm

赞同来自:

学习
0

azure

赞同来自:

没能想到
0

azure

赞同来自:

果然 是先写进一个文件内再读取.想到了,以为有更方便的方法
0

Toornix

赞同来自:

看下答案
0

we14578

赞同来自:

学习下
0

googleqicq

赞同来自:

{:4_92:}
0

BtLichKing

赞同来自:

来看看答案的!
0

jonnylin

赞同来自:

学习
0

liupeng

赞同来自:

了解一下
0

shc1985

赞同来自:

12
0

wuhen

赞同来自:

看看。。。。。。。。
0

Coohx - 小运维

赞同来自:

看看
0

Coohx - 小运维

赞同来自:

看看
0

nihao426181

赞同来自:

^^^^
0

dongdongchen

赞同来自:

看看吧
0

dongdongchen

赞同来自:

好大难度,{:4_102:}
0

hi_tomorrow

赞同来自:

学习
0

wzwyql

赞同来自:

1
0

且听风吟

赞同来自:

xueqi
0

thedawn

赞同来自:

1
0

fulilu

赞同来自:

学习
0

linuxcp

赞同来自:

看看
0

GaryHuang0113 - 世上无难事,只怕有心人

赞同来自:

1
0

luogen55

赞同来自:

学习下怎么写
0

巅峰战天

赞同来自:

look look
0

ccanimal

赞同来自:

have a look
0

chenlei82486708

赞同来自:

学习
0

dongteng

赞同来自:

学习
0

J_C

赞同来自:

看看
0

孟帅伟

赞同来自:

学习

0

青青河边柳

赞同来自:

来看看

0

xy751625718

赞同来自:

xue xi

0

kw是id

赞同来自:

厉害了我的哥

0

渐行渐远

赞同来自:

学习

0

wanganpei - IT技术支持

赞同来自:

学习了

0

谪仙

赞同来自:

学习

0

adolph

赞同来自:

学习

0

u20524496

赞同来自:

学习

0

linux007

赞同来自:

厉害了

0

testdadsadasd

赞同来自:

学习了

0

cocotop

赞同来自:

学习了

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: