while until for switch 哪个不是shell的循环控制结构
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了while until for switch 哪个不是shell的循环控制结构相关的知识,希望对你有一定的参考价值。
参考技术A linuxshell编程
----
循环结构1
for循环
1
for循环是linux
Shell中常用的结构,for循环有三种结构;一种是列表for循环,第二种是不带列表的for循环,第三种是类C风格的for循环。
2
列表for循环
for
variable
in
list
do
statement
done
3
不带列表for循环
for
variable
do
statement
done
4
类C风格的for循环
for
((
expr1;
expr2;
expr3
))
do
statement
done2
while循环
1
while循环的结构
while
expression
do
statement
done
3
until循环
1
在执行while循环的时候只要expression的退出状态为0,将一直执行循环体。until命令和while命令类似,但区别是until循环中的expression的退出状态不为0的时候循环体将会一直执行。
2
until的结构
untile
expression
do
statement
done
4
循环控制符号
1
break语句可以应用在for,while和until循环语句中,用于强行循环,也就是忽略循环体中任何其它语句和循环条件的限制。
2
continue循环控制符应用在for,while和until语句中,用于让脚本跳过后面的语句,执行下一次的循环。
Shell脚本——for,while,until循环
1、for循环:
语句格式:
for i in 循环判断
do
循环体
done
举例:九九乘法表(for循环版本)
#!/bin/bash # Author: Sean Martin # Blog: https://www.cnblogs.com/shy13138/ # Time: 2019-08-16 10:35:48 # Name: 99for.sh # Version: v1.0 for i in 1..9;do for j in $(seq $i);do echo -ne "$i*$j=$((i*j)) " done echo ‘‘ done
2、while循环
语句格式:
while 循环判断
do
循环体
done
举例:猜拳游戏
#!/bin/bash # Author: Sean Martin # Blog: https://www.cnblogs.com/shy13138/ # Time: 2019-08-16 10:35:48 # Name: caiquan.sh # Version: v1.0 j=1 while [ $j -le 5 ] do echo "1.石头 2.剪刀 3.布 " read -p "请出拳1-3:" i if [ $i -ne 1 -o $i -ne 2 -o $i -ne 3 ];then echo "请输入1-3之间的数" fi game=(石头 剪刀 布) num=$((RANDOM%3)) echo computer=$game[$num] case $i in 1) if [ 0 -eq $num ];then echo "平局" elif [ 1 -eq $num ];then echo "你输了" else echo "你赢了" fi;; 2) if [ 1 -eq $num ];then echo "平局" elif [ 0 -eq $num ];then echo "你输了" else echo "你赢了" fi;; 3) if [ 2 -eq $num ];then echo "平局" elif [ 1 -eq $num ];then echo "你输了" else echo "你赢了" fi;; esac let j++ done
3、until循环
until循环与while循环类似
语句格式:
until 循环判断
do
循环体
done
举例:
99乘法表(until版)
#!/bin/bash # Author: Sean Martin # Blog: https://www.cnblogs.com/shy13138/ # Time: 2019-08-16 10:35:48 # Name: 99until.sh # Version: v1.0 i=1 until [[ $i -gt 9 ]] do j=1 until [[ $j -gt $i ]] do let "sum = $i*$j" echo -n -e "$i*$j=$sum\\t" let "j++" done echo "" let "i++" done
以上是关于while until for switch 哪个不是shell的循环控制结构的主要内容,如果未能解决你的问题,请参考以下文章
c语言中while 、for、switch、case的用法?