双圆括号命令允许在比较中包含高级数学公式。test命令只允许在比较中进行简单的算术操作。双圆括号命令提供更多的数学符号,这些符号是其他语言程序员习惯使用的符号。  在双圆括号内的表达式中,不必转义大于号。

(( $val ** 2  > 90 ))        #   比较$var的平方是不是大于90

双方括号 命令为字符串比较 提供高级功能   双方括号提供模式匹配(正则表达式)test不提供

[ $var = [Ss]top ]       #$var 必须等于    [Ss]top

[[ $var = [Ss]top ]]    #var 可以等于Stop  或stop