Linux 中括号 双中括号 的区别

  1. 单中括号 [ ]
    a. [ ] 两个符号左右都要有空格分隔
    b. 内部操作符与操作变量之间要有空格:如 [“a” = “b” ]
    c. 字符串比较中,> < 需要写成 \> \< 进行转义
    d. [ ] 中字符串或者${}变量尽量使用"" 双引号扩住,以避免值未定义引用而出错
    e. [ ] 中可以使用 –a –o 进行逻辑运算
    f. [ ] 是bash 内置命令:[ is a shell builtin

  2. 双中括号
    a. [[ ]] 两个符号左右都要有空格分隔
    b. 内部操作符与操作变量之间要有空格:如 [[ “a’ = “b” ]]
    c. 字符串比较中,可以直接使用 > < 无需转义
    d. [[ ]] 中字符串或者${}变量尽量使用”" 双引号扩住,如未使用""会进行模式和元字符匹配
    e. [[ ]] 内部可以使用 && || 进行逻辑运算
    f. [[ ]] 是bash keyword:[[ is a shell keyword

另外在ubuntu下有一个坑,当在ubuntu下使用[[ ]] 时,可能会报 “ [[: not found ”
这是因为 ubuntu 默认是用dash, 而不是bash, 可以使用 sudo bash xxxx.sh 执行脚本。

http://blog.csdn.net/hittata/article/details/8049665
http://serverfault.com/questions/52034/what-is-the-difference-between-double-and-single-square-brackets-in-bash

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值