tyxiayu 发表于 2018-8-19 13:21:40

Shell脚本(3)-循环语句

  for语句
  1、for语句
  1)简介
  在实际工作中,经常会遇到某项任务要多次执行的情况。而每次执行时仅仅是处理的对象不一样,其他命令相同。例如,根据通讯录中的姓名列表创建系统帐号、根据服务清单检查各主机的存活状态等。
  当面对各种列表重复任务时,使用简单的if语句已经难以满足要求,而顺序编写全部代码更异繁琐、困难重重,而for循环语句就可以解决此类问题。
  2)for语句结构
  for 变量名 in 取值列表
  do
  命令序列
  done
  注意:编写for语句时,我们首先要编辑一个取值列表文件。
  vim valueslist.txt

  然后编写脚本
  vim aduser.sh

  执行脚本,并使用tail -3查看/etc/passwd的后三行,可以看到刚刚添加的三个用户

  2、while语句
  1)简介
  while语句其实也是循环语句,while语句与for语句有些不同。for语句适用于列表对象不规律,且列表来源已经固定的场合。而while语句适用于要求控制循环次数、操作对象按数字顺序编号、按特定条件执行重复操作的场合。
  2)while语句结构
  while 条件测试操作
  do
  命令序列
  done
  简单举例:批量建立20个用户,而用户的id为编号标识。
  vim aduser2.sh

  验证

  3、case语句
  1)简介
  case语句主要适用于以下情况:某个变量存在多种取值,需要对其中的每一种取值分别执行不同的命令序列,这种情况与多分支的if语句非常相似,只不过语句需要判断多个不同的条件而case语句只是判断一个变量的不同取值
  2)case语句结构
  case 变量值 in
  模式1)
  命令序列1
  ;;
  模式2)
  命令序列2
  ;;
  。。。
  *)
  默认命令序列
  esac
  应用举例:编辑一个检测输入字符的脚本,如下:vim chkchar.sh

  验证脚本


页: [1]
查看完整版本: Shell脚本(3)-循环语句