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

使用wget结合变量下载Prometheus node_exporter最新版本失败求助

解决node_exporter版本号含隐藏回车导致wget下载失败的问题

问题根源

你遇到的%0D是URL编码后的回车符(\r),说明通过curl获取的版本号变量v中包含了这个隐藏字符——虽然echo输出时看不到,但它实际存在,导致拼接URL时被编码成%0D,进而下载失败。

解决方案

只需在获取版本号的命令中添加去除回车符的处理,以下是几种可行方式:

方法1:用tr删除回车符

修改获取版本号的命令,在最后追加tr -d '\r':

v=$(curl -v --silent https://github.com/prometheus/node_exporter/releases/latest 2>&1 | grep "tag" | cut -d "v" -f2 | tr -d '\r')

方法2:用sed替换末尾的回车符

v=$(curl -v --silent https://github.com/prometheus/node_exporter/releases/latest 2>&1 | grep "tag" | cut -d "v" -f2 | sed 's/\r$//')

方法3:用awk简化处理(同时避免多余字符)

v=$(curl -v --silent https://github.com/prometheus/node_exporter/releases/latest 2>&1 | awk -F'v' '/tag/{print $2}' | tr -d '\r')

验证变量有效性

执行以下命令确认变量中已无回车符:

echo -n "$v" | od -c

输出中如果没有\r字符,说明处理成功。

执行下载

此时再运行wget命令即可正常下载:

wget https://github.com/prometheus/node_exporter/releases/download/v$v/node_exporter-$v.linux-amd64.tar.gz

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 16:31:33