Shell 中$() ` `,${},$[] $(()),[ ] (( )) [[ ]]作用与区别

在 bash shell 中,$( ) 与 ` ` (反引号) 都是用来做命令替换用(command substitution)的。$()并不是所有shell都支持:
NODE_OPTIONS="--experimental-modules --loader `echo $HOME`/test/custom-loader.mjs" node —inspect-brk=9222 .idea/test.js

${ }用于变量替换。


$[] $(()) ,都是进行数学运算的。支持+ - * / %:分别为 "加、减、乘、除、取模"。但是注意,bash只能作整数运算,对于浮点数是当作字符串处理的。

[ ] 为 test 命令的另一种形式

(( ))及[[ ]] 分别是[ ]的针对数学比较表达式和字符串表达式的加强版。