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 事后总结
多尝试,多练习,实践出真知