Shell命令学习(四)

Shell 流程控制

if else

if语句格式:

if condition
then
    command1
    command2
    ...
    commandN
fi

if else语句格式

if condition
then
    command1
    command2
    ...
    commandN
else
    command
fi

实例:

#!/bin/bash
a=20
b=30
if [ $a == $b ]
then
        echo "a等于b"
elif [ $a -lt $b ]
then
        echo "a小于b"
elif [ $a -gt $b ]
then
        echo "a大于b"
else
        echo "没有符合的条件"
fi

运行结果:
运行结果

if语句常与test合用:

#!/bin/bash
mytijian=$[3*3]
hywang=$[6+3]
if test $[mytijian] -eq $[hywang]
then
        echo "两个数字相等"
else
        echo "两个数字不相等"
fi

运行结果:
运行结果

for循环

for循环的一般格式:

for var in item1 item2 ... itemN
do
    command1
    command2
    ...
    commandN
done

写成一行:

for var in item1 item2 ...itemN;do command1;command2 ...commandN;done

实例:

#!/bin/bash
for mytijianloop in 1 2 3 4 5
do
        echo "The value of mytijianloop: $mytijianloop"
done

运行结果:
运行结果

while语句

while的一般格式:

while condition
do
    command
done

实例:

#!/bin/bash
mytijian=1
while (( $mytijian<=5 ))
do
        echo $mytijian
        let "mytijian++"
done

运行结果:
运行结果
注:
while循环可用于读取键盘信息。

#!/bin/bash
echo "按下<CTRL-D>退出"
echo -n "输入mytijian:"
while read mytijian
do
        echo "$mytijian"
done

输入mytijian的值后,回车显示刚刚输入的值,按下CTRL+D退出
运行结果:
运行结果

until循环

until循环的一般格式:

until condition
do
    command
done

case

case语句一般格式如下:

case 值 in 
模式1)
    command1
    command2
    ;;
模式2)
    command3
    command4
    ;;
esac

实例:

#!/bin/bash
echo "输入1到4之间的数字:"
read aNum
case $aNum in
        1)
                echo "你输入了1"
                ;;
        2)
                echo "你输入了2"
                ;;
        3)
                echo "你输入了3"
                ;;
        4)
                echo "你输入了4"
                ;;
        *)
                echo "你输入的数字不符合条件"
                ;;
esac

运行结果:
运行结果

跳出循环

break

break命令允许跳出所有循环(终止执行后面的所有循环)
实例:

#!/bin/bash
while :
do
        echo -n "输入1至5的数字:"
        read num
        case $num in
                1|2|3|4|5)
                        echo "你输入的数字为: $num!"
                        ;;
                *)
                        echo "你输入的数字不是1至5之间的数字"
                        break
                        ;;
        esac
done

这个例子是让用户一直输入一个1到5的数字,知道输入不在1至5之间的数字,跳出整个循环
运行结果:
运行结果

continue

continue只是跳出当前循环
实例:

#!/bin/bash
while :
do
        echo -n "输入1到5之间的数字:"
        read num
        case $num in
                1|2|3|4|5)
                        echo "你输入的数字为: $num!"
                        ;;
                *)
                        echo "你输入的输在不在1到5之间"
                        continue
                        echo "Game Over"
                        ;;
        esac
done

运行结果:
运行结果
echo “Game Over”永远不会执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值