我想知道是否有通过$(...)或`...`调用子shell的显着差异?
例如:
a=$(ls -la /tmp | grep vox-*)
和:
a=`ls -la /tmp | grep vox-*`
结果将是完全一样的,但我想知道为什么有两种不同的方法,有什么区别,以及我应该使用哪一种。
Backsticks和$(...)在function上是相同的。 不过我更喜欢第二种方法
$(...)可以很容易地嵌套
可读性, $(...)更“b”“
一致性,作为一个类似的语法, $((...)) ,用于expression式
另见这个有其他参数的页面 。