跳出循环和函数返回值
一、退出循环
在shell编程中,通常退出循环有两种方法:
contine:是结束本次执行的循环,默认是contine 1,当contine 3 时,则表示进入第3层循环;
break:是跳出本次循环,默认是break 1, 当break 2 时,则表示退出第二层循环,进入第3层循环;
因此在循环中:contine n = break n-1
[[email protected] ~/test]#vim for.sh #!/bin/bash for i in {1..3};do for j in {101..103};do for k in {1001..1003};do if [ $K -eq 1002 ];than #当执行玩第一轮i=1,j=101,k=1001,输出1001,进入i=1,j=101,k=10 contine 3 02时退出回到,i=2,k=101,k=1001,输出1001,进入i=2,k=101,k= fi 1002时退出回到,i=3,依次显示。 echo $K done done done [[email protected] ~/test]#bash for.sh —————————————————————————————————————————————————— [[email protected] ~/test]#vim for.sh #!/bin/bash for i in {1..3};do for j in {101..103};do for k in {1001..1003};do if [ $K -eq 1002 ];than #当执行玩第一轮i=1,j=101,k=1001,输出1001,进入i=1,j=101,k=10 break 2 02时退出回到,i=2,k=101,k=1001,输出1001,进入i=2,k=101,k= fi 1002时退出回到,i=3,依次显示。 echo $K done done done [[email protected] ~/test]#bash for.sh |
二、函数返回值
在函数第一次遇到return时,则跳出函数,类似for循环中的contine;
[[email protected] ~/test]#vim return.sh #!/bin/bash Ping (){ Ping [[email protected] ~/test]#bash return.sh ping 127.0.0.1 [[email protected] ~/test]#echo $? |