微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Bash Backticks对大括号

当我回答 this question时,我将使用${}符号,正如我在这里看到的很多次,最好是反引号.
但是,当我试过
joulesFinal=${echo $joules2 \* $cpu | bc}

我收到了消息

-bash: ${echo $joules * $cpu | bc}: bad substitution

joulesFinal=`echo $joules2 \* $cpu | bc`

工作正常.那我还需要做什么其他的改变呢?

“被称为命令替换,相当于$()(括号),而使用${}(大括号).

所以这些是平等的,意思是“解释放在里面的命令”:

joulesFinal=`echo $joules2 \* $cpu | bc`
joulesFinal=$(echo $joules2 \* $cpu | bc)
             ^                          ^
       ( instead of {             ( instead of {

虽然${}表达式用于变量替换.

从人bash:

Command substitution allows the output of a command to replace the
command name. There are two forms:

06001

此外,“更难处理,你不能嵌套它们.见下面的评论Why is $(…) preferred over ... (backticks)?.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐