Bootstrap

shell中$()和反引号`` 二者有什么区别

$()和``都是将命令的输出作为变量存储在bash中

比如date命令的输出,可以这样输出,也可以通过var=$(date)  的方式存在变量里

那么这2中方法有什么区别的?

他们的行为相同,反引号形式是传统的命令替换方法,但要注意在嵌入命令的替换是注意转义。区别是$()比``更易于嵌套,可读性更好。

 使用反引号的时候需要注意:

        嵌套在反引号里的命令会在当前shell环境中执行,所以他可以修改环境变量,当前目录等

        和$(...)这种方式相比,反引号是bash的传统格式,但是$(...)更加清晰,更容易阅读和调试。

;