Shell流程控制语句

1. if

#!/bin/bash

score=60
if [ $score -lt 60 ];then
    echo '小于60'
elif [ $score -ge  60 ] && [ $score -lt 70 ];then
    echo '60到70之间'
elif [ $score -ge 70 ] && [ $score -lt 80 ];then
    echo '70到80之间'
elif [ $score -ge 80 ] && [ $score -lt 90 ];then
    echo '80到90之间'
else
    echo '大于90'
fi

2. case

#!/bin/bash

status=3
case $status in 
    0)
    echo '已下单'
    ;;
    1)
    echo '已付款'
    ;;
    2)
    echo '已确认'
    ;;
    3)
    echo '已发货'
    ;;
    4)
    echo '已完成'
    ;;
esac

3. for

#!/bin/bash
for((i=0;i<10;i++))
do
    sleep 1 #睡眠1秒
    if [ $i -eq 5 ];then
        continue #跳出本次循环执行下一次循环
    fi$#
    if [ $i -eq 8 ];then
        break #终止循环
    fi
    echo $i
done

4.while

#!/bin/bash

total=0
while [ $# -gt 0 ] #$#表示读取参数的个数
do
    total=$(($1+$total))
    shift #删除$#里面左边的一个元素
done
echo $total

5.函数

function add(){
    num=$1
    total=0
    for((i=0;i<=$num;i++))
    do
        total=$(($i+$total))
    done
    echo $total
}
add 10
posted on 2018-12-16 23:57  黑夜开发者  阅读(10)  评论(0编辑  收藏  举报