我必须在bash脚本中运行命令,并且在此bash脚本中我必须运行其他命令。我正在运行CentOS。
我在博客和手册上找到了两种方法:
1)使用刻度或重音字符
command `sub command`
或
2)使用美元符号和圆括号
command $(sub command)
2和哪一种更适合使用,有什么区别?
发布于 2011-12-29 11:13:41
除了“嵌套性”之外,没有其他区别:
$()
是可嵌套的:
$ echo $(echo "hi" $(echo "there"))
而不是。
发布于 2011-12-29 15:31:56
其他人指出了语法上的不同(基本上,$()
的wrt嵌套和转义更简洁),但没有人提到我认为更重要的不同之处:$()
更容易阅读。它看起来不像单引号(这意味着完全不同的东西),并且开始和结束分隔符是不同的,从而更容易在视觉上区分它的内容。
对于您自己的脚本,这可能并不重要;代码的可读性很好,但功能更重要。但对于任何编写教程、示例代码、stackoverflow答案等的人来说,可读性要重要得多。人们在输入示例时会输入单引号而不是反引号,然后当它不能像预期的那样工作时就会感到困惑。
因此,对于在stackoverflow上编写示例的每个人来说:请为您的读者省去一些麻烦,并且始终使用$()
表单。
https://stackoverflow.com/questions/8663595
复制相似问题