加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell 10流程控制

发布时间:2020-12-15 23:20:51 所属栏目:安全 来源:网络整理
导读:if 判断 if #shell#!/bin/sha=5if [[ $a 3 ]];then echo "$a3"fi#写成一行if [[ $a 6 ]];then echo "$a3";fi 53 53 if else #shell#!/bin/sha=5if [[ $a 8 ]];then echo "$a8"else echo "$a8"fi 58 if elif else #shell#!/bin/sha=5if [[ $a 5 ]];then echo

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读