1、跳出循环(break与 continue)
(1)跳出循环
在使用循环语句进行循环的过程中,有时候需要在未达到循环结束条件时强制跳出循环,Shell提供了两个命令来实现该功能:break和continue。
Break:跳出整个循环
break 概述:跳出当前整个循环或结束当前循环,在 for、while 等循环语句中,用于跳出当前所在的循环体,执行循环体之后的语句,后面如果什么也不加,表示跳出当前循环等价于 break 1,也可以在后面加数字,假设 break3 表示跳出第三层循环.
Continue:跳过本次循环,进行下次循环
continue 概述:忽略本次循环剩余的代码,直接进行下一次循环;在 for、while 等循环语句中,用于跳出当前所在的循环体,执行循环体之后的语句,如果后面加的数字是 1,表示忽略本次条件循环,如果是 2 的话,忽略下来 2 次条件的循环.
(2)实例1
[root@test shell]# cat case.sh #!/bin/bashfor ((i=0;i<=4;i++)) ; do echo $i case $i in 1) echo \"This is one\" ;; 2) continue #跳出本次循环 echo \"This is two\" ;; 3) break #跳出整个循环 echo \"This is three\" ;; 4) echo \"This is four\" ;; esacdone[root@test shell]# sh case.sh 01This is one23[root@test shell]#
(3)使用交互式方法批量添加用户
[root@test shell]# vi useradd.sh#!/bin/bashecho \"*********************\"read -p \"请输入要创建的用户名:\" nameread -p \"请输入要创建的用户数:\" numread -p \"请输入要创建用户密码:\" pasecho \"*********************\"for ((i=1;i<=$num;i=i+1))douseradd $name$i &> /dev/nullecho \"$pas\" | passwd --stdin $name$i &> /dev/nulldoneecho \"创建用户完成,结果是...\"tail -$num /etc/passwd[root@test shell]# sh useradd.sh *********************请输入要创建的用户名:test请输入要创建的用户数:1请输入要创建用户密码:123456*********************创建用户完成,结果是...test1:x:504:504::/home/test1:/bin/bash[root@test shell]#
个人公众号: