我想知道是否有办法留下imbricated for循环:
check_mac_address() {
local mac="$1"
for wunit in `get_wunit`; do
for iuc in `get_iuc`; do
for assoc_mac in `get_iuc $wunit $iuc`;do
if [ "$assoc_mac" = "$mac"]; then
local int_type="WF"
break #---> break from all loop
else
int_type="ETH"
break #---> break from all loop
fi
done
done
done
}
感谢任何帮助
答案 0 :(得分:4)
break
接受一个参数,该参数指定要破坏的周围循环的级别数;在你的情况下,我相信它将是3:
http://www.gnu.org/software/bash/manual/bashref.html#Bourne-Shell-Builtins
答案 1 :(得分:2)
来自http://tldp.org/LDP/abs/html/loopcontrol.html
普通断点仅终止嵌入它的最内层循环,但断点N突破N级循环。
所以在你的情况下,你可以打破你可以做的所有三个循环
break 3