一、$[ ]、${ }、$( )的区别
1、${ }
Shell中使用一个已经定义过的变量,只要在变量名前面加美元符号$
即可。变量名外面的{ }是可选的,只是为了帮助解释器识别变量的边界。具体介绍见博客Shell变量简介第一节的第2点。
2、$( )
Shell 支持将命令的执行结果赋值给变量,即“命令替换”,而$()是命令替换的写法之一。具体介绍见博客Shell变量简介第一节的第5点。
finish_time=$(date)
3、$[ ]
$[ ]是运算操作符,用于对整数进行数学运算。具体见博客数学计算命令中关于$[ ]的介绍。
xjh@ubuntu:~/iot/tmp$ echo $[3*5]
15
xjh@ubuntu:~/iot/tmp$ echo $[(3+4)*5]
35
xjh@ubuntu:~/iot/tmp$
二、[ ]、[[ ]]、(())的区别
1、[ ]
[ ]是test命令的简写形式,而test命令主要用于检测某个条件是否成立。
具体见博客Shell编程——检测某个条件是否成立(test、[ ]、[[ ]])。
2、[[ ]]
[[ ]] 是 test 的升级版,对细节进行了优化,并且扩展了一些功能,完全可以取代[ ]。
具体见博客Shell编程——检测某个条件是否成立(test、[ ]、[[ ]])。
3、(())
(())是一个数学计算命令,用于对整数进行数学运算,比如((a=10+66))。
具体见博客数学计算命令(expr、(())、bc、declare等)中关于(())的介绍。