码迷,mamicode.com
首页 > 其他好文 > 详细

break在括号中失效问题

时间:2016-04-21 15:23:11      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:break失效

今天发现了一个shell问题,break在脚本里面会失效,比如下面这个脚本:
#!/bin/bash
while : ;do
   ewch 1 &>/dev/null||(echo 2 && break)
   echo 3 && break
done

这个的执行结果是先打印2 和3 然后再break,我不确定是不是我的逻辑有问题,求各位大大指点下




答案由酷!学园 dark 大神提供:


這個我會 ... 我知道 ...

小括號是 "子程序"
大括號才延續當前程序

另外 ..
你將這幾行打在指令列 , 執行後再用方向鍵 "上" 叫出來看

while : ;do    ewch 1 &>/dev/null||(echo 2 && break);    echo 3 && break; done
小括號裡猶如一個指令一般

while : ;do ewch 1 &>/dev/null||{ echo 2 && break; };    echo 3 && break; done
前大括號後面要空格 , 後大括號前要分號斷行

本文出自 “单季稻” 博客,请务必保留此出处http://linzb.blog.51cto.com/5192423/1766221

break在括号中失效问题

标签:break失效

原文地址:http://linzb.blog.51cto.com/5192423/1766221

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!