加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Backticks vs Bash中的大括号

发布时间:2020-12-15 19:05:46 所属栏目:安全 来源:网络整理
导读:当我去回答 this question时,我打算使用$ {}表示法,因为我在这里已经看过很多次,所以最好是反叛。 但是,当我尝试 joulesFinal=${echo $joules2 * $cpu | bc} 我收到了消息 -bash: ${echo $joules * $cpu | bc}: bad substitution 但 joulesFinal=`echo
当我去回答 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 }

$ {}表达式用于变量替换。

来自man bash:

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

06001

而且,“更难以处理,例如你不能嵌套它们。见下面的评论以及Why is $(…) preferred over ... (backticks)?。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读