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

Bash脚本调用Python脚本时,变量解析参数失效问题

问题原因及解决方法

当你在Bash中用带双引号的"$var"传递参数时,整个字符串会被当作单个参数传给Python脚本。argparse会把--circular True识别成一个完整的未知参数,而非--circular和True两个独立参数,这就是报错的原因。

下面是两种可行的解决方法:

方法一:使用Bash数组(推荐,更安全)

用数组存储多个参数,展开时会自动拆分每个元素为独立参数:

#!/bin/bash
var=(--circular True)
python python_script.py --input input_file "${var[@]}"

"${var[@]}"会将数组中的每个元素作为单独的命令行参数传递,效果和直接写--circular True完全一致。

方法二:直接展开变量(无特殊字符时可用)

如果参数内容不包含空格、通配符等特殊字符,可以去掉双引号直接展开变量:

#!/bin/bash
var="--circular True"
python python_script.py --input input_file $var

但这种方式存在风险,比如参数值包含空格时会被错误拆分,因此优先推荐数组方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 20:15:17