Shell脚本之:退出循环

Shell也使用 break 和 continue 来跳出循环。

break命令

下面的例子中,脚本进入死循环直至用户输入数字大于5,使用break跳出这个循环。

#!/bin/bash
while :
do
    echo -n "Input a number between 1 to 5: "
    read aNum
    case $aNum in
        1|2|3|4|5) echo "Your number is $aNum!"
        ;;
        *) echo "You do not select a number between 1 to 5, game is over!"
            break
        ;;
    esac
done

在嵌套循环中,break 命令后面还可以跟一个整数,表示跳出第几层循环。

break n

下面是一个嵌套循环的例子,如果 var1 等于 2,并且 var2 等于 0,就跳出循环:

#!/bin/bash
for var1 in 1 2 3
do
   for var2 in 0 5
   do
      if [ $var1 -eq 2 -a $var2 -eq 0 ]
      then
         break 2
      else
         echo "$var1 $var2"
      fi
   done
done

continue命令

continue命令与break命令类似,只有一点差别,它不会跳出所有循环,仅仅跳出当前循环。

同样,continue 后面也可以跟一个数字,表示跳出第几层循环。

时间: 2024-12-14 23:26:44

Shell脚本之:退出循环的相关文章

Linux Shell脚本 几种循环语句创建用户的方法

大家好,我是孤云暮雨,今天给大家带来的是"Linux Shell脚本 几种循环语句创建用户的方法" 添加user1-user20用户 for循环: #!/bin/bash for i in {1..20} do useradd user$i echo "user$i Users to add success" done for循环(C风格): #!/bin/bash for ((i=1;i<=20;i++)) do useradd user$i &&a

shell脚本进阶之循环判断

p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; font-size: 14.0pt; font-family: 等线 } h1 { margin-top: 15.6pt; margin-right: 0cm; margin-left: 0cm; margin-bottom: .0001pt; text-align: justify; line-he

浅谈Shell脚本中for循环、while循环及case分支语句

博文目录一.for循环语句二.使用while循环语句三.使用case分支语句 一.for循环语句 当面对各种列表重复任务时,使用简单的if语句已经难以满足要求,而顺序编写全部代码更是显得异常繁琐,困难重重.这将可以使用for循环语句很好的解决类似问题. 1.for语句的结构 使用for循环语句时,需要指定一个变量及可能的取值列表,针对每个不同的取值重复执行相同的命令序列,直到变量值用完退出循环.在这里,"取值列表"称为for语句的执行条件,其中包括多个属性相同的对象,需要预先指定(如通

shell脚本编程之循环语句

在运行脚本时重复执行一系列的命令是很常见的,这时我们就需要使用循环语句来达到这个目的. 一.for命令 格式:for 变量 in 列表:do 循环体 done for命令会遍历列表中的每一个值,并且在遍历完成后退出循环. 列表形式有以下几种: 1.在命令中定义的一系列的值: 2.变量: 3.命令: 4.目录: 5.文件. 实例1: 上例中使用{初始值..结束值}格式来表示一个区间的数值. 实例2:以变量作为列表: 实例3:用命令生成列表: 上例中使用seq命令来生成列表,seq命令的格式为:se

shell脚本中的循环

常用到的循环有for循环和while循环. for循环 [[email protected] sbin]# cat for.sh #! /bin/bash for i in `seq 1 5`; do echo $i done 脚本中的 seq 1 5 表示从1到5的一个序列.你可以直接运行这个命令试下.脚本执行结果为: [[email protected] sbin]# sh for.sh 1 2 3 4 5 通过这个脚本就可以看到for循环的基本结构: for 变量名 in 循环的条件: d

Shell脚本基础-----for循环

格式 for 名称 in 列表 do 循环体 done 例子: 列出/etc/passwd文件中,第1,3,6,12行的用户名,UID,Shell #!/bin/bash for line in 1 3 6 12 do         Username=$(head -$line /etc/passwd | tail -1 | awk -F: '{print $1}')         Userid=$(head -$line /etc/passwd | tail -1 | awk -F: '{

简单shell脚本编程示例(循环)

for循环 for 变量名in 列表;do 循环体 done 执行机制: 依次将列表中的元素赋值给"变量名"; 每次赋值后即执行一次循环体; 直到列表中的元素耗尽,循环结束 列表生成方式: (1) 直接给出列表 (2) 整数列表: (a) {start..end} (b) $(seq[start [step]] end) (3) 返回列表的命令 $(COMMAND) (4) 使用glob,如:*.sh (5) 变量引用: [email protected], $* 1.判断/var/目

Shell脚本(for循环,while循环,break跳出循环,continue结束本次循环)

for循环 语法:for 变量名 in 条件 : do done: 案例一: 计算1-100所有数字的和. 脚本: #!/bin/bash sum=0 for i in `seq 1 100` do sum=$[$sum+$i] done echo $sum 结果: [[email protected] ~]# sh 1-100.sh 5050 案例二: 列出/etc/sysconfig下所有子目录,并且使用ls -d命令查看. 脚本: #/bin/bash cd /etc/sysconfig

shell脚本编程之循环控制语句(continue/break/sleep)

循环控制语句: continue:提前结束本轮循环,而直接进入下一轮循环判断: while  CONDITION1; do CMD1 ... if  CONDITION2; then continue fi CMDn ... done 示例:求100以内所有偶数之和: #!/bin/bash # declare -i evensum=0 declare -i i=0 while [ $i -le 100 ]; do     let i++     if [ $[$i%2] -eq 1 ]; th

Linux学习总结(五十九)shell 脚本3-for while 循环

1 for 循环 语法: for 变量名 in 条件:do ...: done举例1 #!/bin/bash sum=0 for i in `seq 1 100`;do sum=$[$sum+$i] done echo $sum 举例2找到/123 目录下所有后缀名为.txt的文件批量修改.txt 为.txt.bak分析:可以有两种办法,一种是find结合xarge命令,另一种为循环.方法一: #!/bin/bash find /123/ -type f -name "*.txt" |