Shell编程之case语句与循环语句

case多分支语句

case语句的结构

  • 针对变量的不同取值,分别执行不同的命令序列
case 变量值 in
模式1)
    命令序列1
    ;;
模式2)
    命令序列2
    ;;
*)
    默认命令序列
esac

使用case分支语句时,有几个值得注意的地方:

  • case行尾必须为单词" in “,每一模式必须以右括号” ) "结束
  • 双分号" ;; "表示命令序列的结束
  • 模式字符串中,可以用方括号表示一个连续的范围,如" [0-9] “;还可以使用” | “表示或,如” A|B "
  • 最后的" *) "表示默认模式,其中的 " * " 相当于通配符
    Shell编程之case语句与循环语句_第1张图片

case语句应用示例

  • 提示输入成绩分数
  • 判断该分数属于优秀、良好、及格、不及格中的一个

Shell编程之case语句与循环语句_第2张图片
Shell编程之case语句与循环语句_第3张图片

循环语句

for语句的结构

  • 读取不同的变量值,用来逐个执行同一组命令
for 变量名 in 取值列表
do
	命令序列
done

Shell编程之case语句与循环语句_第4张图片
for语句应用示例

  • 示例1:批量添加用户
    用户名存放在users.txt文件中,每行一个
    初始密码均设为123456
    验证脚本
    Shell编程之case语句与循环语句_第5张图片
    Shell编程之case语句与循环语句_第6张图片Shell编程之case语句与循环语句_第7张图片
  • 示例2
    使用ping命令查看与各主机的连通性
    将结果保存到shuju.txt
    Shell编程之case语句与循环语句_第8张图片Shell编程之case语句与循环语句_第9张图片

while语句的结构

  • 重复测试某个条件,只要条件成立则反复执行
while 条件测试操作
do
    命令序列
done

Shell编程之case语句与循环语句_第10张图片
while语句应用示例

  • 示例:批量添加用户
    用户名称以stu开头,按数字顺序进行编号
    一共添加20个用户,即stu1、 stu2、…、stu20
    初始密码均设为123456
    Shell编程之case语句与循环语句_第11张图片
    Shell编程之case语句与循环语句_第12张图片

until语句的结构

  • 重复测试某个条件,只要条件不成立则反复执行
until 条件测试操作
do
    命令序列
done

Shell编程之case语句与循环语句_第13张图片

  • 示例:计算1-50的和值
    通过循环累加的方式计算1-50的和值
    Shell编程之case语句与循环语句_第14张图片

你可能感兴趣的:(shell脚本,shell,case语句与循环语句)