+ -
当前位置:首页 → 问答吧 → 关于网中人的第十问,求解答

关于网中人的第十问,求解答

时间:2011-03-10

来源:互联网

  1. $ A=123

  2. $ [ -n "$A" ] && [ "$A" -lt 100 ] || echo 'too big!'

  3. too big!
复制代码
  1. $ unset A

  2. $ [ -n "$A" ] && [ "$A" -lt 100 ] || echo 'too big!'

  3. too big!
复制代码
我的理解是因为第2段代码的&&输出了非0所以结果和第一段一样
然后就是什么办法可以解决,网兄说用命令组,于是我就想到把后面[ "$A" -lt 100 ] || echo 'too big!'代码放到一个组里··可是实行不到
求高手解答

作者: xyq003478   发布时间: 2011-03-10

回复 xyq003478


    人家的意思应该是通过命令组来改变返值,进而改变整个命令的结果。

    应该是把前两个命令放到命令组里。

作者: blackold   发布时间: 2011-03-10

能不能把具体的修改发上看看,谢谢

作者: xyq003478   发布时间: 2011-03-10

你完全可以把 <command1> && <command2>  || <command3> 理解成一个三目运算符:
1成功执行2,否则执行3

作者: xiaopan3322   发布时间: 2011-03-10

不能理解成1成功执行2,否则执行3,否则第一种现象就不可能了,第一种情况了经过3次判断

作者: xyq003478   发布时间: 2011-03-10