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

使用Bash脚本自动化API数据提取及循环时遇错误求助

脚本错误排查与修正

错误原因分析

  • 数组定义错误:Bash数组元素之间不能加逗号,原脚本里的逗号会被当作GPU型号的一部分,导致生成的URL包含无效字符。
  • 变量赋值语法错误:Bash中变量赋值时,=两边不能有空格,原脚本里gpu_url = ...和value = ...的写法会被系统识别为命令,而非赋值操作。
  • URL拼接冗余符号:原脚本中$"是多余的,直接用双引号包裹字符串即可完成变量替换。
  • 数组遍历不严谨:${gpu_array[*]}在某些场景下会将数组元素合并为单个字符串遍历,建议用"${gpu_array[@]}"确保逐个遍历元素。

修正后的脚本

#!/bin/bash

declare -a gpu_array=("rtx3060" "rtx3070" "rtx3080" "rtx3090" "rx6700")

for gpu in "${gpu_array[@]}"; do
    gpu_url="http://192.168.1.31:5000/$gpu"
    value=$(curl "${gpu_url}") 
    echo "$value" >> trial.txt
done

额外优化建议

  • 添加错误处理,检查curl命令执行状态:
    value=$(curl -s "${gpu_url}")
    if [ $? -eq 0 ]; then
        echo "$value" >> trial.txt
    else
        echo "Failed to fetch data for $gpu" >> error.log
    fi
    
  • 使用-s参数让curl静默运行,避免输出无关干扰信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 09:55:24