Shell - for、while、until、case

循环-for

For i in 1 2 3;do echo $i;done
for var in item1 item2 ... itemN
do
    command1
    command2
    ...
    commandN
done

案例1:

for loop in 1 2 3 4 5
do
    echo "The value is: $loop"
done

案例2:(循环创建文件)

for i in `seq 1 3 ` ; do touch $i.log ; done

循环- while

while condition
do
    command
done

案例:(注意表达式一定要用双括号)

i=1
while (( $i < 5))
do
echo $i
#i=`expr $i + 1 `
#如下是let命令
let "i++"
Done

While((true))
While :

循环 - Until

Until [ $# -gt 0 ]
Do
Command1
Shift;;
Done

匹配 - case

必须有in,一个模式结束必须用双;;号,esac(case的反转)是case结束标识

case 值 in
模式1)
    command1
    command2
    ...
    commandN
    ;;
模式2)
    command1
    command2
    ...
    commandN
    ;;
esac

同时也支持continue(跳出当前)和break(跳出所有循环)跳出循环。

while :
do
    echo -n "输入 1 到 5 之间的数字: "
    read aNum
    case $aNum in
        1|2|3|4|5)
        	echo "你输入的数字为 $aNum!"
        	break
        ;;
        *) 
        	echo "你输入的数字不是 1 到 5 之间的!"
            continue
        ;;
    esac
done
发布了544 篇原创文章 · 获赞 289 · 访问量 23万+

猜你喜欢

转载自blog.csdn.net/BlessingXRY/article/details/100179955
今日推荐