**
Shell (( ))和[[ ]] 的区别
直接上代码图
**
Shell (( ))双小括号:
Shell(())是专门用来运算整数且只能进行整数运算,不能对小数、浮点数或字符串进行运算。
1、基本的数值计算:
![Shell中(())和[[]]的区别](https://aqzt.com/wp-content/uploads/20220210115127-50.png)
2、进行稍微复杂的运算
![Shell中(())和[[]]的区别](https://aqzt.com/wp-content/uploads/20220210115128-45.png)
3、进行逻辑运算,结果为true返回1,false返回0
![Shell中(())和[[]]的区别](https://aqzt.com/wp-content/uploads/20220210115129-56.png)
4、进行自增自减运算
![Shell中(())和[[]]的区别](https://aqzt.com/wp-content/uploads/20220210115130-94.png)
![Shell中(())和[[]]的区别](https://aqzt.com/wp-content/uploads/20220210115131-87.png)
5、多个表达式运算
![Shell中(())和[[]]的区别](https://aqzt.com/wp-content/uploads/20220210115133-8.png)
Shell [[ ]] 双中括号:
1、[[ ]]不是一个命令,是bash里面的一个关键字。
2、支持字符串的模式匹配。
![Shell中(())和[[]]的区别](https://aqzt.com/wp-content/uploads/20220210115134-3.png)
3、使用[[…]]作为条件判断结构。&&、||、<、>等都可以正常存在于[[]]中,但是,出现在[ ]中,会报错。
![Shell中(())和[[]]的区别](https://aqzt.com/wp-content/uploads/20220210115135-74.png)
[[ ]]和[ ]详细区别请参考: http://www.51testing.com/html/01/7701-13731.html