shell 10流程控制
Posted singleSpace
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell 10流程控制相关的知识,希望对你有一定的参考价值。
if 判断
if
#shell
#!/bin/sh
a=5
if [[ $a > 3 ]];then
echo "$a>3"
fi
#写成一行
if [[ $a < 6 ]];then echo "$a>3";fi
5>3
5>3
if else
#shell
#!/bin/sh
a=5
if [[ $a > 8 ]];then
echo "$a>8"
else
echo "$a<8"
fi
5<8
if elif else
#shell
#!/bin/sh
a=5
if [[ $a > 5 ]];then
echo "$a>5"
elif [ $a -eq 5 ];then
echo "$a=5"
else
echo "$a<5"
fi
5=5
for循环
#shell
#!/bin/sh
for i in `seq 1 5`;do
echo $i
done
1
2
3
4
5
while语句
#shell
a=1
while [ $a -lt 5 ];do
echo "$a"
let "a++"
#或者 a=`expr $a + 1`
done
1
2
3
4
无限循环
while中用:代替条件
#shell
#!/bin/sh
while : ;do
echo "hello"
done
while 条件一直为true
#shell
#!/bin/sh
while true;do
echo "hello"
done
使用for循环
#!/bin/sh
for ((;;));do
echo "hello"
done
until 循环
#shell
#!/bin/sh
a=0
until [ $a -gt 10 ]; do
echo $a
let "a++"
done
0
1
2
3
4
5
6
7
8
9
10
case为多选语句,每个case语句匹配一个值与一个模式
#shell
#!/bin/sh
read -p "请输入的你的名次:" num
case $num in
1) echo "武林盟主"
;;
2) echo "五岳盟主"
;;
3) echo "华山掌门"
;;
*) echo "回家玩去"
esac
跳出循环
break跳出所有循环
#shell
while :;do
read -p "请输入1到5之间的数字:" num
case $num in
1|2|3|4|5) echo "你输入的数字为$num"
;;
*) echo "你输入的数字不在1和5之间"
break
;;
esac
done
输入6后停止循环
请输入1到5之间的数字:5
你输入的数字为5
请输入1到5之间的数字:4
你输入的数字为4
请输入1到5之间的数字:6
你输入的数字不在1和5之间
continue跳出本次循环
#shell
while :;do
read -p "请输入1到5之间的数字:" num
case $num in
1|2|3|4|5) echo "你输入的数字为$num"
;;
*) echo "你输入的数字不在1和5之间"
continue
echo "游戏结束"
;;
esac
done
输入7后继续下次循环
请输入1到5之间的数字:7
你输入的数字不在1和5之间
请输入1到5之间的数字:3
你输入的数字为3
请输入1到5之间的数字:6
你输入的数字不在1和5之间
esac case用easc结束,每个case分枝用 ;;来break
以上是关于shell 10流程控制的主要内容,如果未能解决你的问题,请参考以下文章
linux之Shell编程--Shell流程控制语句实例演示