欢迎关注博主公众号
薛定谔的小鱼儿
(一)选择结构程序设计
1.if结构
if 表达式
then 命令表
[else 命令表]
fi
2.case结构
case结构以“case”开头,以“esac”结尾
直接上实例:
#!/bin/bash
#filename:caseweek
read week
case $week in
0)echo "周日";;
1)echo "周一";;
2)echo "周二";;
3)echo "周三";;
4)echo "周四";;
5)echo "周五";;
6)echo "周六";;
执行程序,结果如下:
#chmod u+x caseweek
#./caseweek
3
周三
3.select结构
select 变量 in 列表
do
命令表
done
列表有一个字符串组成的序列,在程序执行select时,该列表以菜单形式进行显示,用户可以在其中选择。
实例:
#!/bin/bash
#filename:selectweek
select n in 周一 周二 周三 周四 周五 周六 周日
do
case $n in
周一)echo "周一";;
周二)echo "周二";;
周三)echo "周三";;
周四)echo "周四";;
周五)echo "周五";;
周六)echo "周六";;
周日)echo "周日";;
break;;
esac
done
(二)循环程序设计
1.while
while [表达式]
do
命令表
done
实例:
#!/bin/bash
#filename:whiletest
i=1
while[$i -le 10]
do
echo "$i"
i=$(($i+1))
done
运行程序:
#chmod u+x whiletest
#./wwhiletest
1
2
3
4
5
6
7
8
9
10
2.for
for 变量 [in 列表]
do
命令表
done
实例:
#!/bin/bash
#filename:viewchar
for i in A B C D E F G
do
echo "请选择答案$i"
done
运行程序:
#chmod u+x
#./viewchar
请选择答案A
请选择答案B
请选择答案C
请选择答案D
请选择答案E
请选择答案F
请选择答案G
3.until
until
命令表1
test 表达式
do
命令表
done
实例:
#!/bin/bash
#filename:testuntil
i=1;
echo "请输入n的值:"
read n
until
test $i -le $n
do
res='expr $i \* $i'
echo '$i--------$res'
i=$(($i+1))
done
4.break语句结束循环,跳出循环,跳出循环后转贷done语句后继续执行。
实例:
#!/bin/bash
#filename:testbreak
echo "输入一个数字:"
read n
i=1
for i in 1 2 3 4 5 6 7 8 9
do
if [$i -eq $n]
echo "退出循环"
break;
else
echo"这是第$i次循环"
fi
done
运行程序:
#chmod u+x testbreak
#./testbreak
输入一个数字:
4
这是第1次循环
这是第2次循环
这是第3次循环
退出循环
5.continue
continue语句是用来跳过本次循环中剩下的代码,即直接调回循环的开始位置。如果条件为真则直接开始下一次循环,否则退出循环。continue是转到下一次循环。
#!/bin/bash
#filename:testcon
echo"输入数字"
read n
i=1
for i in 1 2 3 4
do
if [$i -eq n]
echo" 开始下次循环"
continue;
else
echo"这是第$i次循环"
fi
done
运行程序:
#chmod u+x testcon
#./testcon
输入数字
2
这是第1次循环
开始下次循环
这是第3次循环
这是第4次循环