ipAllocate_and_linkState_hacking
#!/bin/bash
# Author: Joshua Chen
# Date: Jun
# Location: Shenzhen #. 解读这两个程序是因为程序中包含了大部分shell脚本的基本语法;
#. 省去以后需要使用到shell脚本的时候,需要参考的需求;
#. 在本代码中,以24位掩码为基准,如果IP为: 10.1.1.7,那么前面三位数是网络位: 10.1.,最后一位是主机位:
# -- 晴 深圳 曾剑锋 # Description: allocate IPs to students #每个人分配一个主IP, 3个辅助IP
EXTRA_COUNT=
#IP的前缀,相当这个脚本用于分配10..1段的IP,也就是网络位
IP_PREFIX=10.1.
#最多分配50个主IP
MAX_GRP=
#主IP的主机位从11开始
PRIM_MIN=
#主IP的主机位最大值
PRIM_MAX=$((PRIM_MIN + MAX_GRP -))
#扩展IP的主机位最小值
EXTRA_MIN=$((PRIM_MAX + ))
#扩展IP的主机位最大值
#EXTRA_MAX=$((EXTRA_MIN + MAX_GRP * EXTRA_COUNT -)) #获取传入的第一个参数,如果文件不存在,那个就退出,
#并且打印出命令的使用方法.
list=$
if [ ! -e "$list" ];then
#输出到标准错误输出
echo "Can not locate list file '$list'" >&
#需要传入有学生姓名的文件,每个学生名字占一行
echo "Usage: $(basename $0) <name list>"
exit
fi #检查list路径下文件的行数是否大于MAX_GRP,以下提供2种写法
#if [ $(wc -l "$list" | cut -d " " -f1) -gt "$MAX_GRP" ];then
if [ $(wc -l < "$list") -gt "$MAX_GRP" ];then
echo "Too many entries in the name list! maximum $MAX_GRP is allowed" >&
exit
fi #分配主IP
#每次从list代表的文件中读取一行名字,保存在name的变量中,
#然后是用printf组合分配IP.
echo "------- Primary IP -------"
n=$PRIM_MIN
while read name
do
printf "%s.%-3s %s\n" "${IP_PREFIX}" $n "$name"
((n++)) #语法要求,这样就可以像写C一样
done < "$list" #分配辅助IP
#因为辅助IP这里需要分配3个,所以while里面再是用for循环
#对IP进行分配.
echo
echo "------- Extra IP -------"
n=$EXTRA_MIN
while read name
do
for i in $(seq $EXTRA_COUNT) #seq用于产生序列供for循环使用
do
printf "%s.%-3s %s\n" "${IP_PREFIX}" $n "$name"
((n++))
done
done < "$list" #退出程序
exit # Description: detect the ethernet link state #网卡设备所在的目录
dir=/sys/class/net
#文件名carrier
file=carrier # need root privilege
if [ "$UID" -ne ]; then
echo "Must be root"
exit
fi if [ ! -d $dir ];then
echo "Directory $dir doesn't exist, quit."
exit
fi cd $dir # do we have an NIC? #Network Interface Card
if ! ls | grep -q ^eth; then
echo "No NIC detected"
exit
fi # check the status of each NIC
ls | grep ^eth | while read dev
do
# take it up first
ifconfig $dev up &> /dev/null # if the file is not found and put error to /dev/null
if [ "$(cat $dev/$file 2>/dev/null)" = "" ];then
echo "$dev: link ok"
else
echo "$dev: no link"
fi
done exit
ipAllocate_and_linkState_hacking的更多相关文章
随机推荐
- ZC_C++类函数指针_模拟_Delphi类函数指针_Qt例子
qt-opensource-windows-x86-msvc2010_opengl-5.3.2.exe ZC: “const QString” 作传入参数的时候,不太会弄... 貌似 还是在进行构建等 ...
- Qt5.3.2_CentOS6.4_单步调试环境__20160306【勿删,繁琐】
20160306 全程没有f/q ZC:使用的虚拟机环境是:博客园VMwareSkill 的 “CentOS6.4_x86_120g__20160306.rar” 需要调试器 gdb ,从“http: ...
- 创意时钟 人形时钟 可惜不是 https
; (function () { $('#header').css({ 'position':'relative' }).prepend('<div id="clockWrap&quo ...
- 算法笔记--数位dp
算法笔记 这个博客写的不错:http://blog.csdn.net/wust_zzwh/article/details/52100392 数位dp的精髓是不同情况下sta变量的设置. 模板: ]; ...
- 8天掌握EF的Code First开发
C#高级知识点&(ABP框架理论学习高级篇)——白金版 http://www.cnblogs.com/farb/p/ABPAdvancedTheoryContent.html
- python打印ms
ct打印的是时间戳,时间戳的小数点后前三位为ms eg:1555644362.055328 ms = 055 import time ct = time.time() local_time = ...
- 常用HTTP contentType与后端处理方式
常用HTTP contentType与后端处理方式 1.Content-Type:application/x-www-form-urlencoded; charset=UTF-8 前端export.j ...
- codeforces 497c//Distributing Parts// Codeforces Round #283(Div. 1)
题意:有n个区间[ai,bi],然后有n个人落在[ci,di],每个人能用ki次.问一种方式站满n个区间. 两种区间都用先x后y的升序排序.对于当前的区间[ai,bi],将ci值小于当前ai的全部放入 ...
- Java compiler level does not match the version of the installed Java project facet.解决方法
右键项目“Properties”,在弹出的“Properties”窗口左侧,单击“Project Facets”,打开“Project Facets”页面. 在页面中的“Java”下拉列表中,选择相应 ...
- OAF 供应商门户添加功能标签后获取当前供应商VendorId的方法
一种是参考管理页面 /oracle/apps/pos/supplier/webui/SuppDtPG 在目标页面的AM中添加VO实例,oracle.apps.pos.supplier.server.S ...