(( )) 与 [[ ]] _测试结合for while if
$(()) 用来做整数计算的 , 只要括号中的表达式符合C语言运算规则
(( ... ))表示括号里面的东西是在进行数字运算,而不是当成字符串,以便能够用+、-、*、/、>、<这些算术运算符,同样$(( ... ))就表示 ... 部分计算的结果。 只要括号中的表达式符合C语言运算规则
[[ ... ]]表示里面进行的是逻辑运算,以便可以用&&、||这些逻辑运算符。
注意: [[ ]] 以后都用$表示变量 , 这里不要省略(因为while的时候会有问题,但是if没问题,所以干脆都用上$)
(())中不需要$表示变量
使用范围:
没有逻辑运算&& || 的时候(()) [[]]都可以通用, 区别就是 : [[ ]]中用$表示变量, (())可以省了。
所以为了方便只要没逻辑运算符&&|| 都用(()) , 有逻辑运算符都用[[]]
$(()) 用法:
(()) 与[[ ]] 用法:
结果:
测试使用范围:
改写while,while也可以用[] ,也就可以用[[]] ,但是这里要用$
-------------------------------------------
了解:
[ ] 中就用这些:
逻辑与:-a 条件表达式的并列
逻辑或:-o 条件表达式的或
逻辑非:! 条件表达式的相反
但是[[ ]] 更好用, 所以这个了解就好了。