双圆括号表示允许使用附加操作符的数学表达式
双方括号表示高级字符串处理匹配和比较
一、双圆括号(( expression ))
test命令只允许进行简单的算数操作,而双圆括号可以提供更多的算数运算功能:
[root@centos6 ~]# (( A=10**2 )) [root@centos6 ~]# echo $A 100
二、双方括号[[ expression ]]
双括号命令为字符串比较提供了更多test命令所没有的功能,其中最为重要的是模式匹配功能:
支持正则表达式
[root@centos6 ~]# [[ $USER == ro* ]] [root@centos6 ~]# echo $? 0
注意,在双方括号中的表达式不用转义 > , < 符号。(test中必须加\)