[]
- 为
test
命令的另一种形式。 - 必须在左括号的右侧和右括号的左侧各加一个空格,否则会报错。
- 大于符号或小于符号必须要转义(如
\<
),否则会被理解成重定向。
test的三个基本作用是判断文件、判断字符串、判断整数。支持使用"与"、“或”、"非"将表达式连接起来。
[[]]
- 每一项两边都要有空格,[[ 1 == 2 ]]的结果为“假”,但[[ 1==2 ]]的结果为“真”!
- 内置在shell中的一个命令,比
test
强大的多。支持字符串的模式匹配(使用=~操作符时甚至支持shell的正则表达式),逻辑组合可以不使用test的-a,-o而使用&&,||这样更亲切的形式。
参考 :https://www.cnblogs.com/include/archive/2011/12/09/2307905.html