欢迎各位兄弟 发布技术文章
这里的技术是共享的
在 macOS 的终端中使用 Shell 脚本时,如果你需要从一个外层的 for
循环中中断或跳出,可以使用几种不同的方法。下面是一些常见的做法:
使用 break
语句配合计数器:
如果你的循环是基于某个条件进行多次迭代的,可以在内层循环中设置一个标志变量,然后在外层循环中检查这个标志变量。
Bash深色版本1 outer_break=0 2 for i in {1..3}; do 3 for j in {1..3}; do 4 if [ $j -eq 2 ]; then 5 outer_break=1 6 break 2 7 fi 8 done 9 if [ $outer_break -eq 1 ]; then 10 break 11 fi 12 done
使用 return
语句:
如果外层循环是在一个函数内部,你可以使用 return
语句来退出整个函数。
Bash深色版本1 outer_loop() {
2 for i in {1..3}; do
3 for j in {1..3}; do
4 if [ $j -eq 2 ]; then
5 return
6 fi
7 done
8 done
9 }
10 outer_loop
使用标签(label
):
在 Bash 4.0 及以上版本中,你可以给循环添加一个标签,然后用 break
后跟标签名来跳出多层循环。
Bash深色版本1 outer: 2 for i in {1..3}; do 3 for j in {1..3}; do 4 if [ $j -eq 2 ]; then 5 break outer 6 fi 7 done 8 done
请注意,在 macOS 上默认使用的可能是 bash
或 zsh
,这些示例都是针对这两种 Shell 的。如果你的系统默认使用的是 zsh
或其他 Shell,语法可能会略有不同,但基本概念是相同的。如果需要进一步的帮助或者具体的示例,请告诉我!