免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1693 | 回复: 1
打印 上一主题 下一主题

&& vs || ,真与假,1与0 的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-07-13 00:33 |只看该作者 |倒序浏览
echo $(( 1 && 2 ))   $(( 3 && 0 ))  $(( 4 || 0 )  $(( 0 || 0 ))  
1  0  1 0
这个的1  0 是什么意思,退出状态码?不像啊!  1 && 2 的结果都不是0,应该为真吧,退出状态码应该是0吧。这里的1 代表神马
                                             3 && 0 有个0,为假把,结果是个0 ~~~~~~~~这数字代表的啥!

ABS中说:((   )) 结构拓展并计算一个算数表达式的值。如果表达式结果为0,
            那么返回的退出状态码为1,或者为“假”。而一个非零值的表达式
            返回的退出状态码为0,或者是“true”。

论坛徽章:
0
2 [报告]
发表于 2012-07-13 08:41 |只看该作者
本帖最后由 personball 于 2012-07-13 08:47 编辑

回复 1# mxiaohua1768


    命令或脚本的执行结果: 返回值为0 为真,非0为假
    你想想 $(( 1&&2 ))  和  cmd1&&cmd2  一样不一样就行了。。
  1. personball@vostro:~$echo $(( 1&&1 ))
  2. 1
  3. personball@vostro:~$echo $(( 1&&0 ))
  4. 0
  5. personball@vostro:~$echo $(( 0&&0 ))
  6. 0
  7. personball@vostro:~$echo $(( 0&&1 ))
  8. 0
复制代码
算术运算形式中的真值表和正常的数学中的定义一样
命令形式中的真值表  对于0 1的true false 定义正好相反,即返回0为真,非0为假。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP