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

通过Bash脚本传递BBOX参数至Docker容器内Python脚本遇错排查

Docker容器中Python脚本BBOX参数传递问题解决

问题场景

通过Bash脚本启动以Python脚本为入口的Docker容器,该Python脚本要求接收lonmin latmin lonmax latmax格式的BBOX参数,遇到以下异常:

  • 执行./run.sh -a 3 33 5 40时,Python脚本抛出错误:argument --bbox: expected 4 arguments
  • 尝试用引号包裹BBOX参数传递时,同样触发上述错误
  • 但直接在本地运行python core.py --bbox 3 33 5 40时完全正常

解决方案

在Bash脚本中传递参数时,不要给--bbox后的参数加引号,直接使用--bbox $bbox的形式传递。

示例代码:

# 假设bbox变量存储了目标参数值
bbox="3 33 5 40"
# 正确的容器启动命令
docker run --rm your-image python core.py --bbox $bbox

原因说明

用引号包裹参数时,Shell会把整个BBOX内容作为单个字符串参数传给Python脚本。而Python脚本的参数解析器(比如argparse)期望--bbox后跟随4个独立的数值参数,因此触发参数数量不匹配的错误。

去掉引号后,Shell会自动按空格将$bbox的内容拆分成4个独立参数,完全符合Python脚本的参数要求,因此可以正常执行。

内容的提问来源于stack exchange,提问作者yeaaaahhhh..hamf hamf

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 16:27:26