在这里插入图片描述 2. 多路分支语句
==case...esac==多路分支语句case用于多重条件测试,语法结构清晰自然,
case 字符串变量 in //case语句只能检测字符串变量
模式1)
命令表1 //各模拟中可用文件名元字符,以右括号结束
;;
模式2 | 模式3)
命令表2
;; //命令表以单独的双分号行结束,退出case语句
.....
模式n)
命令表n
;; //模式n常写为字符*,表示所有其他模式
esac //最后一个双分号行可以省略
判断选择——多路分支语句 示例1:
#!/bin/bash
echo -n "please choose (yes | no)?"
read R
case $R in
yes | Yes |y | Y |YES )
echo "yes"
;;
no)
echo "no"
;;
*)
echo "wrong"
#;;
esac
判断成绩——多路分支语句 示例2:
#!/bin/bash
echo -n "please choose (yes | no)?"
read S
if [ $S -lt 0 -o $S -gt 100]
then
echo "no in [0-100]"
exit
fi
G=`expr $S / 10`
case $G in
9|10)
echo "$S A"
;;
6|7|8)
echo "$S B"
;;
*)
echo "$S C"
#;;
esac
在这里插入图片描述 四、shell 循环语句 1. 循环语句for的用法
当循环次数已经知道或确定时候,使用for循环语句来多次执行一条或者一组命令,循环体由语句括号do和done来限定。
格式为:
for 变量名 in 单词表
do
命令表
done
变量依次取单词表中的各个单词,每取一次单词,就执行一次循环体中的命令。循环次数由单词数确定。命令表中的命令可以是一条,也可以是由分号或换行符分开的多条。如果单词表是命令行上的所有位置参数时,可以在for
实例代码:
#!/bin/bash
#for I in `ls /etc`
do
echo "$I"
done
在这里插入图片描述
==seq命令== :列出一系列的数字seq 起始数字 中间分量 终止分量
#!/bin/bash
for I in `seq 1 2 10`
do
echo "$I"
done
示例:拷贝当前目录下的所有文件到backup子目录下。使用语法为:./prog5.sh[filename]