shell-[[ ]]和(( ))

阅读量: zyh 2017-01-02 22:11:44
Categories: > Tags:

(( ))

整数表达式运算用 (( )) ,(( a+b*c-d )) ,a、b、c、d为变量,可不写$,运算符 >、>=、<、<=、==、!=

举例:

➜   a=1;b=2;(( a=a+b ));echo $a
2

💥使用 (( )) 时,不需要空格分隔各值和运算符,当然空格分割也不会错

[[ ]]

字符表达式的比较使用 [[ ]] ,其运算符 =、!=、-n、-z

文件表达式的测试使用 [[ ]] ,其运算符 -r、-l、-w、-x、-f、-d、-s、-nt、-ot 等

逻辑表达式的测试使用 [[ ]] ,其运算符 !、&&、||

数字比较、字符比较、逻辑测试可以组合,如$ [[ “a” != “b” && 4 -gt 3 ]]

组合使用的时候,数字部分应该用 -eq、-ne、-le、-lt、-gt、-ge

支持bash中的通配符扩展,如:[[ hest = h??t ]] 、[[ hest = h*t ]]

💥使用 [[ ]] 时需要用空格分隔各值和运算符。