企业内部网段检测有多少主机存活——shell脚本传参(二)

企业内部网段检测有多少主机存活

前言:这个脚本初衷来自于之前看了网络班苟国齐的空间发布的脚本,今天改版了一下,感觉挺方便的。

环境简介:

IP地址段 外网 内网
10.0.0.0 Yes No
172.16.1.0 No Yes

1).编写脚本

[[email protected] oldboy20160103]# cat check_hosts.sh 
#!/bin/bash
#no.1 Check functions 
[ ! -f /etc/ini.d/functions ] && source /etc/init.d/functions
#no.2 judge $1
[ $# -ne 1 ] && {
   echo "USAGE: $0 IPaddr"
   exit 1
}
#no.3
PING="ping -w1 -c 1"
IP=$1
#no.4
for n in `seq 10`
do
  { $PING $1${n} &>/dev/null
   if [ $? -eq 0 ]
      then
        action "$1${n} is online" /bin/true
      else
        action "$1${n} is gone" /bin/false
   fi
}
done

2).执行脚本

[[email protected] oldboy20160103]# sh check_hosts.sh 10.0.0.
10.0.0.1 is online                                         [  OK  ]
10.0.0.2 is online                                         [  OK  ]
10.0.0.3 is gone                                           [FAILED]
10.0.0.4 is gone                                           [FAILED]
10.0.0.5 is gone                                           [FAILED]
10.0.0.6 is gone                                           [FAILED]
10.0.0.7 is online                                         [  OK  ]
10.0.0.8 is online                                         [  OK  ]
10.0.0.9 is gone                                           [FAILED]
10.0.0.10 is gone                                          [FAILED]

提示:10.0.0.1 是我的NAT桥接地址,10.0.0.1 是我的NAT网关地址。

[[email protected] oldboy20160103]# sh check_hosts.sh 172.16.1.
172.16.1.1 is gone                                         [FAILED]
172.16.1.2 is gone                                         [FAILED]
172.16.1.3 is gone                                         [FAILED]
172.16.1.4 is gone                                         [FAILED]
172.16.1.5 is gone                                         [FAILED]
172.16.1.6 is gone                                         [FAILED]
172.16.1.7 is online                                       [  OK  ]
172.16.1.8 is online                                       [  OK  ]
172.16.1.9 is gone                                         [FAILED]
172.16.1.10 is gone                                        [FAILED]
时间: 2024-11-03 03:42:55

企业内部网段检测有多少主机存活——shell脚本传参(二)的相关文章

企业内部网段检测有多少主机存活——shell脚本

企业内部网段检测有多少主机存活 1)通过ping命令来实现 ping -c 1 -w 1 ip -c: 表示次数,1 为1次 -w: 表示deadline, time out的时间,单位为秒,1为1秒. 注: a)       如果一个一个的去ping等待的时间很长,所以用到了多线程在后台执行 b)      如果不用多线程的话有一个问题就是在跑for循环的时候ctrl +c只能停止当前循环的那个,停止之后会到下一个for循环,退不出来,还得再开一个终端把脚本的进程kill掉,不方便,这可以用t

shell脚本传参

写了个脚本自动生成pdf上传github受不了每次相同的commit决定使用脚本传参 简单好用使用加粗方法,更复杂的可以参考下面两个详解. 如何给shell脚本传参数 http://jingyan.baidu.com/article/b24f6c822645b786bfe5daff.html #!/usr/bin/zsh xelatex -synctex=1 -interaction=nonstopmode "leetcode-cpp".tex > makepdf.log cd

shell 脚本传参

在 shell 中我们会见到  $0.$1.$2这样的符号,这是什么意思呢? 简单来说 $0 就是你写的shell脚本本身的名字,$1 是你给你写的shell脚本传的第一个参数,$2 是你给你写的shell脚本传的第二个参数 比如你新建了一个shell脚本 Test.sh, 内容如下: #!/bin/sh echo "shell脚本本身的名字: $0" echo "传给shell的第一个参数: $1" echo "传给shell的第二个参数: $2&quo

python--脚本传参与shell脚本传参(位置参数)

写一个最简单的shell脚本,了解shell脚本是如何传参 1. vim test1.sh name=$1 age=$2 echo ${name} echo ${age} 2.调用脚本并传参 sh test1.sh zhangsan 14 11.  vim test1.py test1.py import sys try: if sys.argv[1]: print(sys.argv[1]) except Exception as e: print('当前无参数') 22.调用脚本并传参 原文地

shell脚本传参执行spark-submit

读取多个目录下的本地文件,多个目录通过循环遍历的方式,以参数传递: #!/bin/bash i=0while [ $i -lt 10000 ] do echo "i=$i" spark-submit --class com.link.fblx.readFromPath --driver-memory 20G --executor-memory 20G --num-executors 1 --executor-cores 25 --total-executor-cores 25 --ja

Linux之部分shell脚本练习(二)

while CONDITION;do    statementdone 进入循环:条件满足退出循环:条件不满足 until CONDITION;do    statment    ...done #!/bin/bash#read -p "Input something:" STRING while[ $STRING != 'quit'];do    echo $STRING | tr 'a-z' 'A-Z'    read -p "Input something:"

Shell脚本系列教程二: 开始Shell编程

Shell脚本系列教程二: 开始Shell编程 2.1 如何写shell script? (1) 最常用的是使用vi或者mcedit来编写shell脚本, 但是你也可以使用任何你喜欢的编辑器; (2) 脚本写好之后, 要给脚本设置可执行权限: 语法为: chmod  [option]  mode  script-name $ chmod +x script-name # 对所有用户(a, 默认) $ chmod 775 script-name 这里, 775这3个数字分别表示此文件对于用户(u)

shell脚本应用(二)

防伪码:会当凌绝顶,一览众山小!  第六章 shell脚本应用(二) 前言:为了使shell脚本具有一定的"判断"能力,根据不同的条件来完成不同的管理任务.使脚本具有一定的"智能". 目标:学会使用条件测试操作+if条件语句+实验(构建postfix邮件系统并测试系统管理和维护) 一. 条件测试操作 1. 文件测试(根据给定的路径名称,判断对应的是文件还是目录,或者判断文件是否可读.可写.可执行) -d(是否为目录) -e(目录或文件是否存在) -f(是否为文件)

常用的主机监控Shell脚本

最近时不时有朋友问我关于服务器监控方面的问题,问常用的服务器监控除了用开源软件,比如:cacti,nagios监控外是否可以自己写shell脚本呢?根据自己的需求写出的shell脚本更能满足需求,更能细化主机监控的全面性. 下面是我常用的几个主机监控的脚本,大家可以根据自己的情况在进行修改,希望能给大家一点帮助. 1.查看主机网卡流量 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #!/bin/bash #!/bin/bash #network #Mi