Untitled Post - 57
[是一个shell内建命令函数,而不是一个关键字。也就是说[是一个函数,其最后一个参数为],[的参数之间必须严格的使用空白分隔。if [ “$str” == “a” ]; then实际上是调用[函数,其参数分别为”$str”,==,”a”和],这与if test “$str”==”a”; then是等价的,test函数对空白没有特殊要求。[与test是基本等价的。而[[则是shell关键字,有更多的扩展特性,比如支持规则表达式匹配运算符。逻辑运算时,[使用-a和-o,而[[使用&&和。