案例多分支语句
案例语句的结构:
针对变量的不同取值,分别执行不同的命令列
<代码>情况变量的值 模式1) 命令序列1 ;; 模式2) 命令序列2 ;; … *) 默认命令序列 esac 代码>
<强>示例强>:
字符类型识别:
-
<李>提示用户输入一个字符;李>
<李>判断出该字符是字母,数字或者其他字符。李>
脚本如下:
<代码> # vim test01.sh root@localhost选择 # !/bin/bash 阅读- p“请输入一个字符:“键 情况下美元的关键 [a - z] | [a - z]) 回应“你输入的是字母” ;; [0 - 9]) 回应“你输入的是数字” ;; *) 回应“你输入的是特殊符号” esac 代码>
<代码>执行结果如下: # chmod + x test01.sh root@localhost选择 #。/test01.sh root@localhost选择 请输入一个字符:3 你输入的是数字 #。/test01.sh root@localhost选择 请输入一个字符:d 你输入的是字母 #。/test01.sh root@localhost选择 请输入一个字符:# 你输入的是特殊符号 [root@localhost选择]# 代码>
循环语句
的循环语句:
<强>循环结构强>:读取不同的变量值,用来逐个执行同一组命令。
<代码>变量取的名值列表 做 命令序列 代码> >之前完成
<强>示例1 强>:
批量添加用户:
-
<李>用户名存放在users.txt文件中,每行一个;李>
<李>初始密码均设为123456;李>
<李>验证脚本。李>
<强>具体实验如下强>:
<代码> [root@localhost选择]#尾5/etc/passwd avahi: x: 70:70: avahi mdn/DNS-SD栈:/var//avahi-daemon:运行/sbin/nologin 后缀:x: 89:89::/var/spool/后缀:/sbin/nologin tcpdump: x: 72:72::/:/sbin/nologin 江:x: 1000:1000:江:/home/江:/bin/bash apache: x: 48:48: apache:/usr/share/httpd/sbin/nologin # vim users.txt root@localhost选择 #猫users.txt root@localhost选择 zhangsan lisi wangwu zhaoliu # vim test02.sh root@localhost选择 #猫test02 root@localhost选择。sh//shell脚本如下 # !/bin/bash TMP=$ (cat/opt/users.txt) 用户在TMP美元 做 useradd $ USER,,回声“123456”| passwd, stdin $ USER,比;/dev/null 完成 # chmod + x test02.sh root@localhost选择 #。/test02.sh root@localhost选择 [root@localhost选择]#尾5/etc/passwd apache: x: 48:48: apache:/usr/share/httpd/sbin/nologin zhangsan: x: 1001:1001::/home/zhangsan:/bin/bash lisi: x: 1002:1002::/home/lisi:/bin/bash wangwu: x: 1003:1003::/home/wangwu:/bin/bash zhaoliu: x: 1004:1004::/home/zhaoliu:/bin/bash (root@localhost选择)# #苏zhangsan root@localhost选择 [zhangsan@localhost选择]苏lisi美元 密码: 美元(lisi@localhost选择)代码>
<强>示例2 强>:
根据IP地址检查主机状态:
-
<李> IP地址存放在ipadds.txt文件中,每行一个;李>
<李>使用平命令检测各主机的连通性。李>
壳脚本如下:
<代码> # !/bin/bash TMP=$ (cat/opt/ipadds.txt) 用户在TMP美元 做 ping - c 3 - 0.2 - w 3美元的用户,在/dev/null 如果[$ ?情商0] 然后 回声“美元用户” 其他的 echo " $用户” fi 代码> >之前完成而循环语句:
<强>循环结构强>:重复测试某个条件,只要条件成立则反复执行。
<代码>而条件测试操作 做 命令序列 代码> >之前完成
<强>示例1 强>:
批量添加用户:
-
<李>用户名称以斯图开的头,按数字顺序进行编号;李>