$(...)
我想知道通过或调用子 shell 是否存在显著差异`...`
?
例如:
a=$(ls -la /tmp | grep vox-*)
和:
a=`ls -la /tmp | grep vox-*`
结果将完全相同,但我想知道为什么有两种不同的方法,有什么区别,以及我应该使用哪一种。
答案1
Backsticks 和$(...)
功能上是相同的。但我更喜欢第二种方法
$(...)
可以轻松嵌套可读性,
$(...)
更“bashish”一致性,作为类似的语法
$((...))
,适用于表达式
也可以看看这一页还有其他论点。