09流程控制
2018-05-14 本文已影响0人
毛子阿卡西
- if else
if condition1
then
command1
elif condition2
then
command2
else
commandN
fi
- for 循环
for loop in 1 2 3 4 5
do
echo "The value is: $loop"
done
- while 语句
#!/bin/sh
#使用中使用了 Bash let 命令,它用于执行一个或多个表达式,变量计算中不需要加上 $ 来表示变量
int=1
while(( $int<=5 ))
do
echo $int
let "int++"
done
#无限循环
while true
do
block
done
- util与while相反,条件返回true时跳出
#!/bin/bash
a=0
until [ ! $a -lt 10 ]
do
echo $a
a=`expr $a + 1`
done
- case
case 值 in
模式1)
command1
command2
...
commandN
;;
模式2)
command1
command2
...
commandN
;;
esac
echo '输入 1 到 4 之间的数字:'
echo '你输入的数字为:'
read aNum
case $aNum in
1) echo '你选择了 1'
;;
2) echo '你选择了 2'
;;
3) echo '你选择了 3'
;;
4) echo '你选择了 4'
;;
*) echo '你没有输入 1 到 4 之间的数字'
;;
esac
out:
输入 1 到 4 之间的数字:
你输入的数字为:
3
你选择了 3
- 跳出循环 break
#!/bin/bash
while :
do
echo -n "输入 1 到 5 之间的数字:"
read aNum
case $aNum in
1|2|3|4|5) echo "你输入的数字为 $aNum!"
;;
*) echo "你输入的数字不是 1 到 5 之间的! 游戏结束"
break
;;
esac
done
- 跳出当前循环 continue
#!/bin/bash
while :
do
echo -n "输入 1 到 5 之间的数字: "
read aNum
case $aNum in
1|2|3|4|5) echo "你输入的数字为 $aNum!"
;;
*) echo "你输入的数字不是 1 到 5 之间的!"
continue
echo "游戏结束"
;;
esac
done