Linux篇:shell脚本监控主机状态的3种方式

1字数 490阅读 316

01 前言

shell的基础语法学习告了一段路,现在开始实际操作练习,今天记录的是shell脚本的经典题目

监控主机或IP的状态,并给出提示,如以下背景:

编写脚本判断以下4个主机的状态

181.137.128.1 

182.137.128.2 

181.137.128.8 

181.137.128.10

02 脚本实现过程

(一)版本一

这里需要总结几个知识点:

1、ping 命令:

ping -c 1:-c代表制定ping的次数,ping -c 1 意思是ping1次

此外常用的几个参数这里也一并了解一下:

-i : 设定间隔几秒发送一个ping包,默认一秒ping一次

-W: 以毫秒为单位设置ping的超时时间

-w  deadline: deadline(最后期限)

来看看以下例子

ping -c 2 -i 0.3  181.137.128.32

以 0.3s 的间隔 ping 181.137.128.132  总共ping2次 

2、break 跳出循环

break命令:break命令允许跳出所有循环(终止执行后面的所有循环)。

continue命令:与break相似,但是不同的地方是,它不会跳出所有循环,仅仅跳出当前循环

3、数组取元素

使用@ 或 * 可以获取数组中的所有元素

如以下例子:

#!/bin/bash

# author:菜鸟教程

# url:www.runoob.com

my_array[0]=A

my_array[1]=B

my_array[2]=C

my_array[3]=D

echo "数组的元素为: ${my_array[*]}"

echo "数组的元素为: ${my_array[@]}"

数组的元素为:A B C D

数组的元素为:A B C D

获取数组长度的方法/ 获取字符串长度的方法相同

echo "数组元素个数为: ${#my_array[*]}"

echo "数组元素个数为: ${#my_array[@]}"

数组元素个数为: 4

数组元素个数为: 4

(二)版本二

(三)版本三

03 事后总结

多尝试,多练习,实践出真知

推荐阅读更多精彩内容