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

从Python脚本获取Bash变量后,如何在curl URL中正确使用?

解决Bash变量含不可见字符导致curl请求失败的问题

你的问题核心是:Python脚本返回的结果看似是纯数字,但实际包含换行符或其他不可见空白字符,这些字符被带入Bash变量后,导致curl请求的URL中混入了无效内容,服务器无法正确解析;而手动输入时没有这些多余字符,所以请求正常。

解决方案

1. 赋值时直接清理多余字符

在捕获Python输出的同时,用tr命令移除所有空白类字符(换行、回车、空格等):

POST=$(python3 /repo/post.py | tr -d '\n\r ')

或者用sed仅删除尾部的空白:

POST=$(python3 /repo/post.py | sed -e 's/[[:space:]]*$//')

2. 用Bash内置处理去除尾部换行

如果确认只有尾部换行问题,可直接用Bash参数扩展清理:

POST=$(python3 /repo/post.py)
POST=${POST%$'\n'}  # 移除变量末尾的换行符

验证方法

可以用od命令查看变量的实际内容,确认是否存在不可见字符:

echo -n "${POST}" | od -c

如果输出中出现\n或\r,说明确实存在多余字符,清理后再执行curl即可得到正确结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 04:52:44