Shell脚本应用(三)

时间:2022-11-26 19:19:50

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