要将命令的输出存储为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/

10-13 07:26