gpt4 book ai didi

bash - 在 bash 中对包含浮点的多个变量执行算术运算

转载 作者:行者123 更新时间:2023-12-02 04:11:43 26 4
gpt4 key购买 nike

我正在 bash 中编写一个脚本,我需要向此代码添加第三个变量:Res=$(echo $VAR1-$VAR2|bc)或此代码:Res=$(bc <<< "$VAR1-$VAR2") (两者都允许我计算十进制数),我需要进行以下计算:Res=$VAR3-($VAR1-$VAR2)

最佳答案

除非我遗漏了什么,否则你似乎只需要这样做:

Res=$(bc <<< "$VAR3-($VAR1-$VAR2)")

这三个变量在 shell 中展开并传递给 bc ,它执行计算。这与带有两个变量的示例没有什么不同。

整个命令周围的双引号很重要,因为它们可以防止 ()避免被 shell 解释。您使用两个变量的示例有效,因为字符串仅包含“安全”字符,例如数字和 - (没有空格或其他对 shell 有意义的字符)。

一般来说,您应该始终用单引号来引用字符串,当它们包含变量时,用双引号来引用文字。

您可以使用 echo 传递字符串如果你愿意:

Res=$(echo "$VAR3-($VAR1-$VAR2)" | bc)

使用<<<更好,因为它不使用管道,因此不会创建任何子 shell。同样,这里需要双引号。

关于bash - 在 bash 中对包含浮点的多个变量执行算术运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36306443/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com