要将命令的输出作为变量存储在 sh/ksh/bash 中,您可以执行以下任一操作
var=$(command)
或者
var=`command`
两种方法之间有什么区别?
反引号/墓碑已被弃用,取而代之的$()是命令替换,因为$()它可以很容易地嵌套在$(echo foo$(echo bar)). 还有其他差异,例如反斜杠在反引号/gravemark 版本中的解析方式等。
$()
$(echo foo$(echo bar))
请参阅 BashFAQ/082 有几个原因总是更喜欢 $(…) 语法。
另请参阅 POSIX 规范以获取有关各种差异的详细信息。