我必须在bash脚本中运行命令,并且在这个bash脚本中我必须运行其他命令.我正在运行CentOS.
我在博客和手册中找到了两种方法:
1)使用ticks或accent char
command `sub command`
Run Code Online (Sandbox Code Playgroud)
要么
2)使用美元符号和括号
command $(sub command)
Run Code Online (Sandbox Code Playgroud)
2和哪一个最好使用有什么区别?
hol*_*eek 40
除了"可嵌套性"之外没有区别:
该$()
是嵌套:
$ echo $(echo "hi" $(echo "there"))
Run Code Online (Sandbox Code Playgroud)
而``不是.
其他人已经指出了语法的差异(基本上,$()
嵌套和转义略微清晰),但没有人提到我认为更重要的区别:$()
更容易阅读.它看起来不像单引号(这意味着完全不同的东西),并且开始和结束分隔符是不同的,使得更容易在视觉上区分其内容.
对于你自己的脚本,这可能不是很关键; 代码可读性很好,但功能更重要.但对于任何编写教程,示例代码,堆栈溢出答案等的人来说,可读性更为重要.在键入示例等时,人们会键入单引号而不是反引号,然后在不能按预期工作时会感到困惑.
因此,对于每个人在stackoverflow上编写示例:请为您的读者省去一些麻烦,并始终使用该$()
表单.
归档时间: |
|
查看次数: |
27846 次 |
最近记录: |