You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写Bash脚本实现空格分隔整数的绝对值求和?

Bash计算空格分隔整数绝对值之和的实现方案

你原有代码输出0的原因是仅将输入的空格替换为加号直接求和,负数会携带负号参与运算,比如示例输入1 2 -3会被转换为1+2+-3,运算结果自然为0。

仅需在原有逻辑基础上新增一步移除所有负号的参数替换操作即可,全程使用Bash原生语法,无额外复杂逻辑:

while read x ; do
  # 先移除输入中的所有负号
  x=${x//-}
  # 再替换空格为加号求和
  echo $(( ${x// /+} ))
done

验证说明

输入1 2 -3时,第一步负号移除后得到1 2 3,替换空格为加号后运算1+2+3,输出结果为6,符合要求。
如果输入可能存在带正号的整数(例如+1 -2 3),可以将负号替换逻辑调整为同时移除正负号:x=${x//[+-]}即可兼容。

内容的提问来源于stack exchange,提问作者Steve Zee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 12:06:03