shell中$( )与``的区别

命令行替换

1. 在bash中,$( )` `(反引号)都是用来作命令替换的。
  命令替换与变量替换差不多,都是用来重组命令行的,先完成引号里的命令行,然后将其结果替换出来,再重组成新的命令行。

[root@localhost scripts]# echo $(cat /etc/redhat-release)
CentOS Linux release 7.4.1708 (Core)
[root@localhost scripts]# echo `cat /etc/redhat-release`
CentOS Linux release 7.4.1708 (Core)
[root@localhost scripts]#

$( )与``
在操作上,这两者都是达到相应的效果,但是建议使用$( ),理由如下:

``很容易与''搞混乱,尤其对初学者来说,而$( )比较直观。
最后,$( )的弊端是,并不是所有的类unix系统都支持这种方式,但反引号是肯定支持的。

本文来源:Linux—shell中$(( ))、$( )、``与${ }的区别 - chengd - 博客园 (cnblogs.com)

 

posted on 2021-10-27 15:26  呆呆人  阅读(635)  评论(0)    收藏  举报