shell使用for循环结构检测多个主机的存活状态
2020-07-26 14:58
639 查看
本案例要求编写一个Shell脚本chkhosts.sh,利用for循环来检测多个主机的存活状态,相关要求及说明如下:
• 对192.168.4.0/24网段执行ping检测
• 脚本能遍历ping各主机,并反馈存活状态
在Shell脚本应用中,常见的for循环采用遍历式、列表式的执行流程,通过指定变量从值列表中循环赋值,每次复制后执行固定的一组操作。
for循环的语法结构如下所示:
1. for 变量名 in 值列表 2. do 3. 命令序列 4. done 5. 6. for 变量名 in {1..5} 7. do 8. 命令序列 9. done 10. for 变量名 in `seq 5` 11. do 12. 命令序列 13. done 14. 15. for 变量名 in `ls /etc/*.conf` 16. do 17. 命令序列 18. done
步骤一:练习for循环基本用法
脚本1,通过循环批量显示5个hello world:
1. [root@dyy ~]# vim for01.sh 2. #!/bin/bash 3. for i in 1 2 3 4 5 4. do 5. echo "hello world" 6. done 7. [root@dyy ~]# chmod +x for01.sh 8. [root@dyy ~]# ./for01.sh
步骤二:批量检测多个主机的存活状态
1)编写脚本如下:
命令备注:ping命令可以测试某台主机的连通性,
使用-c选项可以设置ping的次数,
使用-i选项可以设置多次ping之间的间隔时间(单位秒),
使用-W选项可以设置ping不通时的超时时间(单位秒)。
1. [root@dyy ~]# vim chkhosts.sh 2. #!/bin/bash 3. for i in {1..254} 4. do 5. ping -c 3 -i 0.2 -W 1 192.168.4.$i &> /dev/null 6. if [ $? -eq 0 ] ; then 7. echo "Host 192.168.4.$i is up." 8. else 9. echo "Host 192.168.4.$i is down." 10. fi 11. done 12. [root@dyy ~]# chmod +x chkhosts.sh
4)测试、验证脚本
[root@dyy ~]# ./chkhosts.sh Host 192.168.4.5 is up. Host 192.168.4.6 is down
步骤三:创建账户的案例
创建users.txt,写入无规律的账户名称,最后使用for循环读取该文件,批量创建账户并设置密码。
1. [root@dyy ~]# vim addfor.sh 2. #!/bin/bash 3. for i in `cat /root/user.txt` 4. do 5. useradd $i 6. echo 123456 | passwd --stdin $i 7. done
相关文章推荐
- 使用shell脚本检测lvs中realserver状态,并实现自动删除已挂机主机
- shell 脚本批量检测主机存活状态
- 一个shell for循环与case结合的脚本(监控程序状态)
- [9-13]Shell系列4――循环结构for、while、until及跳出循环
- C语言中循环结构语句 for循环及while,do--while 的使用
- 1-23-shell脚本之-if流程控制语句和for循环语句的使用
- shell脚本检测主机是否存活
- Shell使用for循环语句
- shell scripts for 循环中变量赋值 以及 shell中sed的使用
- shell之菜单+跳板机(跳板机管理及连接脚本与下一个for循环的脚本配合使用)
- shell中for循环使用
- shell循环结构之for循环
- python使用phantomJS循环for爬取多个页面时,解决内存持续变大而报错“ConnectionResetError: [WinError 10054]远程主机强迫关闭了一个现有的连接”的问题
- [shell] 检测局域网内存活主机
- 使用python检测主机存活端口及检查存活主机
- 李白无事街上走,提壶去买酒,遇店加一倍,见花喝一斗,五遇花和店,喝光壶中酒,试问李白壶中原有多少酒?(使用FOR循环结构编程实现)
- 4th 循环结构概述和for语句的格式及其使用
- 企业内部网段检测有多少主机存活——shell脚本传参(二)
- shell脚本之-if流程控制语句和for循环语句的使用
- 企业内部网段检测有多少主机存活——shell脚本