命令替换

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

 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
$( )与``

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

  • ``很容易与''搞混乱,尤其对初学者来说。
  • 在多层次的复合替换中,``必须要额外的跳脱处理(反斜线),而$( )比较直观。
  • 最后,$( )的弊端是,并不是所有的类unix系统都支持这种方式,但反引号是肯定支持的。
1 2 3 4 5 6 7 # 将cmd1执行结果作为cmd2参数,再将cmd2结果作为cmd3的参数   cmd3 $(cmd2 $(cmd1))   # 如果是用反引号,直接引用是不行的,还需要作跳脱处理   cmd3 `cmd2 \`cmd1\``
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄