要将命令的输出存储为sh/ksh/bash中的变量,可以执行以下任一操作
var=$(command)
或
var=`command`
如果这两种方法有什么区别的话?
最佳答案
backticks/gravemarks已经被弃用,取而代之的是$()
命令替换,因为$()
可以像$(echo foo$(echo bar))
那样轻松地嵌套在自己的内部。还有其他的区别,比如反斜杠在backtick/gravemark版本中是如何解析的,等等。
请参见BashFAQ/082以了解始终喜欢$(…)语法的几个原因。
有关各种差异的详细信息,请参见POSIX规范。
关于bash - shell编程中的$(command)和`command`有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24206753/