[ ]与[[ ]]的差别

[ ]:通配符不起作用,[[ ]]会展开通配符。

[root@redhat etc]# name=law
[root@redhat etc]# echo $name
law
[root@redhat etc]# [[ $name = [Ll]aw ]]
[root@redhat etc]# echo $?
0
[root@redhat etc]# [ $name = [Ll]aw ]
[root@redhat etc]# echo $?
1

[]使用-a,-o连接多个逻辑表达式,而[[]]使用&&,||连接多个表达式

[root@redhat etc]# [ $name1 = Tom && $name2 = Jack ]
-bash: [: missing `]'
[root@redhat etc]# [[ $name1 = Tom && $name2 = Jack ]]
[root@redhat etc]# echo $?
0

[]不能使用比较运算符,如>,<

[root@redhat etc]# [[ 2 > 3 ]]
[root@redhat etc]# echo $?
1
[root@redhat etc]# [[ 2 < 3 ]]
[root@redhat etc]# echo $?
0
[root@redhat etc]# [ 2 < 3 ]
-bash: 3: No such file or directory

测试字符串相等,等号和双等号都是可以的。

[root@redhat etc]# [[ $name == [Ll]aw ]]
[root@redhat etc]# echo $?
0
[root@redhat etc]# [ $name = [Ll]aw ]
[root@redhat etc]# echo $?
1
[root@redhat etc]# [ $name == [Ll]aw ]
[root@redhat etc]# echo $?
1

(( ))专门用来测试数值表达式,括号内的变量之前不用附加$符号。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/37724/viewspace-152636/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/37724/viewspace-152636/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值