Chinaunix
标题:
&& vs || ,真与假,1与0 的问题
[打印本页]
作者:
mxiaohua1768
时间:
2012-07-13 00:33
标题:
&& vs || ,真与假,1与0 的问题
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”。
作者:
personball
时间:
2012-07-13 08:41
本帖最后由 personball 于 2012-07-13 08:47 编辑
回复
1#
mxiaohua1768
命令或脚本的执行结果: 返回值为0 为真,非0为假
你想想 $(( 1&&2 )) 和 cmd1&&cmd2 一样不一样就行了。。
personball@vostro:~$echo $(( 1&&1 ))
1
personball@vostro:~$echo $(( 1&&0 ))
0
personball@vostro:~$echo $(( 0&&0 ))
0
personball@vostro:~$echo $(( 0&&1 ))
0
复制代码
算术运算形式中的真值表和正常的数学中的定义一样
命令形式中的真值表 对于0 1的true false 定义正好相反,即返回0为真,非0为假。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2