While语句的结构
while条件测试操作
do
命令序列
done //直到所有which后的条件测试结果不再成立,最后跳转到done
#!/bin/bash
a="stu"
i=1
while [ $i -le 3 ] //判断i是否小于或等于3
do
useradd ${a}$i //如果i小于或等于三,则创建用户stu{1,2,3}
let i++ //等同于i=’expr $i + 1’
done //如果不满足条件退出循环
使用case分支语句
某个变量存在多种取值,需要对其中的每一种取值分别执行不同的命令序列。和if相似,不过if判断多个不同的条件,而case语句只要判断一个变量的不同取值
case语句的结构
case 变量值 in
模式1)
命令序列1
;;
模式2)
命令序列2
;;
…….
*)
默认命令序列
esac
·case行尾必须为单词“in”,每一个模式必须以右括号“)”结束
·双分号“;;”表示命令序列的结束
·模式字符串中,可以用一个连续的范围,如[0-9],还可以用竖杠“|”表示或,如“A|B”
·最后的“*)”表示默认模式,其中的“*”表示通配符
[root@crushlinux ~]# vim 123.sh
#!/bin/bash
read -p "请输入一个内容,并按Enter确认:" a
case "$a" in
[a-z]|[A-Z]) //匹配任意字符
echo "你输入的是字母"
;; //结束
[0-9] ) // 匹配任意数字
echo "你输入的是数字"
;;
*) //其他
echo "你输入的是空格"
esac