首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >内联命令的bash

内联命令的bash
EN

Stack Overflow用户
提问于 2011-12-29 11:07:16
回答 2查看 42.8K关注 0票数 35

我必须在bash脚本中运行命令,并且在此bash脚本中我必须运行其他命令。我正在运行CentOS。

我在博客和手册上找到了两种方法:

1)使用刻度或重音字符

代码语言:javascript
复制
command `sub command`

2)使用美元符号和圆括号

代码语言:javascript
复制
command $(sub command)

2和哪一种更适合使用,有什么区别?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-29 11:13:41

除了“嵌套性”之外,没有其他区别:

$()是可嵌套的:

代码语言:javascript
复制
$ echo $(echo "hi" $(echo "there"))

而不是。

票数 49
EN

Stack Overflow用户

发布于 2011-12-29 15:31:56

其他人指出了语法上的不同(基本上,$()的wrt嵌套和转义更简洁),但没有人提到我认为更重要的不同之处:$()更容易阅读。它看起来不像单引号(这意味着完全不同的东西),并且开始和结束分隔符是不同的,从而更容易在视觉上区分它的内容。

对于您自己的脚本,这可能并不重要;代码的可读性很好,但功能更重要。但对于任何编写教程、示例代码、stackoverflow答案等的人来说,可读性要重要得多。人们在输入示例时会输入单引号而不是反引号,然后当它不能像预期的那样工作时就会感到困惑。

因此,对于在stackoverflow上编写示例的每个人来说:请为您的读者省去一些麻烦,并且始终使用$()表单。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8663595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档