您的位置:首页 > 运维架构 > Linux

Linux 中括号 双中括号 的区别

2016-05-23 14:10 435 查看
单中括号 [ ]

a. [ ] 两个符号左右都要有空格分隔

b. 内部操作符与操作变量之间要有空格:如 [“a” = “b” ]

c. 字符串比较中,> < 需要写成> \< 进行转义

d. [ ] 中字符串或者${}变量尽量使用”” 双引号扩住,以避免值未定义引用而出错

e. [ ] 中可以使用 –a –o 进行逻辑运算

f. [ ] 是bash 内置命令:[ is a shell builtin

双中括号

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 执行脚本。

/article/7871370.html

http://serverfault.com/questions/52034/what-is-the-difference-between-double-and-single-square-brackets-in-bash
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: