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

如何通过Shell函数结合curl、jq与bc实现浮点乘法运算?

实现多接口数据提取与浮点乘法运算的Shell脚本

这里是调整后的完整Shell脚本,修正了原代码里的语法问题,保证可以正常运行:

# 从指定URL提取数字的函数
function func() {
    curl -Ss -H 'Cache-Control: no-cache' "url.com/A?limit=2" | jq -r '.[] | .[] | .blah'
}

function func2() {
    curl -Ss -H 'Cache-Control: no-cache' "url.com/B2?limit=2" | jq -r '.[] | .[] | .blah'
}

function func3() {
    curl -Ss -H 'Cache-Control: no-cache' "url.com/C3?limit=2" | jq -r '.[] | .[] | .blah'
}

# 执行三个数字浮点乘法运算的函数
function example() {
    # 使用scale指定小数点后精度,这里设为4,可根据需要调整
    echo "scale=4; $(func) * $(func2) * $(func3)" | bc -l
}

脚本说明:

  • 数据提取函数(func/func2/func3):

    • 每个函数通过curl请求目标API,-Ss参数让curl保持静默(不输出进度条或非必要错误信息),Cache-Control: no-cache头确保获取到最新的缓存数据。
    • 用jq -r解析返回的JSON数据,'.[] | .[] | .blah'是根据你的JSON结构指定的提取路径,最终输出对应的数字值。如果你的JSON结构有变化,需要修改这个jq表达式来匹配实际字段位置。
  • 运算函数(example):

    • 调用前面三个函数获取三个数字,通过echo把乘法运算表达式传给bc -l工具执行浮点运算。scale=4用来设置运算结果保留4位小数,你可以根据需求调整这个数值。

注意事项:

  • 确保你的系统已经安装了curl、jq和bc工具,Debian/Ubuntu系可以用sudo apt install curl jq bc安装,RHEL/CentOS系用sudo yum install curl jq bc。
  • 把脚本里的url.com/A?limit=2等地址替换为实际有效的API地址,保证API返回的JSON结构符合jq解析的要求。

内容的提问来源于stack exchange,提问作者Caucasian Malaysian

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:16:52