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流程控制语句实例演示

Linux之Shell编程(10)--Shell流程控制语句实例演示

Shell流程控制语句while

shell - 流程控制if

Shell流程控制

第四章 Shell流程控制