gpt4 book ai didi

shell - shell 中的 let vs expr vs 双括号算术

转载 作者:行者123 更新时间:2023-12-04 01:08:22 25 4
gpt4 key购买 nike

刚开始学习shell脚本的时候,看到的很多例子都用过let用于基本算术,但后来我发现有些环境不存在 let作为内置,但支持使用 expr取而代之(尽管它要慢得多)。

但是,在很多 shell 中也可以使用双括号进行算术运算,例如 $((54 + 102)) .

由于我正在为可移植性编写脚本,因此这是一个充满可能性的雷区;目前我正在使用两种不同的包装函数(一种用于 let ,一种用于 expr )并使用快速测试来决定在我的脚本的其余部分中使用哪个。

无论如何,我想知道的是是否有人可以澄清这三个算术命令(以及我遗漏的任何其他命令)中的每一个的兼容性。我希望双括号形式可能足够常见,以至于我可以放弃兼容性检查,但是很难搜索,所以我决定来这里并要求确定。

请注意,我只对常规算术感兴趣,我想我已经涵盖了我(可能)需要使用的几个大整数。

最佳答案

$(( ... ))在 POSIX 标准中定义,它可能与您需要的一样便携。

关于shell - shell 中的 let vs expr vs 双括号算术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22389570/

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