case:控制语句
适用于多分支。
格式:
case 变量 in
字符串1) 命令列表1
;;
…
字符串n) 命令列表n
;;
*) 命令列表
;;
esac
注意:* 可匹配所有参数。
例如,做一个选择项菜单:
#!/bin/bash
echo "***********************"
echo "Please select your operation:"
echo "1 copy"
echo "2 delete"
echo "3 backup"
echo "4 quit"
echo "***********************"
read op
case op in
copy)
echo "your selection is copy"
;;
delete)
echo "your selection is delete"
;;
backup)
echo "your selection is backup"
;;
quit)
echo "your selection is quit"
;;
*) # * 匹配所有参数
echo "invalide selection"
;;
esac
for…done循环语句
格式:
for 变量 in 名字表
do
命令列表
done
例如,循环打印周一到周日:
#!/bin/bash
for Day in Monday Thusday Wednesday Thursday Friday Saturday Sunday
do
echo "The day is: ${Day}."
done
While循环语句
格式:
while 条件
do
命令
done
一个例子:求10以内自然数的平方值, 如1 * 1 = 1, 2 * 2 = 4
#!/bin/bash
num=1
while [ *num -le 10 ]
do
result=`expr ${num} \* ${num}`
echo "${num} * ${num} = ${result}"
num=`expr ${num} + 1`
done