分享

Unix Shell if中用[-n]判断字符串不为NULL ,需要双引号引起变量或者用 两个中括号

 ala咪s 2016-11-23

Unix Shell中用[-n]判断字符串不为NULL

 (2008-06-18 22:19:04)
标签: 

杂谈

 
分类: MSN搬家

在Unix Shell中,可以使用-n来判断一个string不是NULL值,但是之前却以为这是骗人的把戏。因为执行下面的命令,返回是0值(即真),可是BB明明是没有内容的。

[root]# export BB=
[root]# [ -n $BB ]
[root]# echo $?
0

今日翻书才知道,原来需要用双引号把变量名括起来,即变成[ -n "$BB" ]。这样才行。

[root]# [ -n "$BB" ]
[root]# echo $?
1

因为如果没有双引号括起变量,当BB为null时,判定表达式变成:[ -n ]。这显然是范围true。当然,如果不想用双引号,那么使用[[ ]]判定语句也是可以的。

[root]# [[ -n $BB ]]
[root]# echo $?
1

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多