加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 为什么“true”和“false”测试都是真的?

发布时间:2020-12-13 23:54:09 所属栏目:Linux 来源:网络整理
导读:单词“true”和“false”是bash的特殊单词(builtins). 如果在if测试中使用,它们可以直观地预期: $if true; then echo "true"; else echo "false"; fitrue$if false; then echo "true"; else echo "false"; fifalse 但是,这两个测试: $[[ true ]] echo "tru
单词“true”和“false”是bash的特殊单词(builtins).
如果在if测试中使用,它们可以直观地预期:

$if true; then echo "true"; else echo "false"; fi
true
$if false; then echo "true"; else echo "false"; fi
false

但是,这两个测试:

$[[ true ]] && echo "true" || echo "false"
true
$[[ false ]] && echo "true" || echo "false"
true

两者都是真的.为什么?

解决方法

在这种情况下,[[…]]等同于test,即test true和test false.查看测试手册(1):

-n STRING the length of STRING is nonzero

STRING equivalent to -n STRING

true和false都是非空字符串.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读