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

Bash关联数组键值匹配失败:为何无法获取对应图标值?

问题分析与解决

问题根源

curl获取的%x格式结果大概率带有隐藏的换行/回车字符——虽然终端输出看起来和数组键完全一致,但实际变量里的字符串包含不可见字符,导致关联数组索引匹配失败,最终返回空值。

修复方案

对curl的返回结果做空白字符清理,去掉所有换行、回车和多余空格:

方法1(使用tr工具)

修改脚本中conditionplain的赋值行:

conditionplain=$(curl -s "wttr.in/$location?format=%x" | tr -d '\r\n')

方法2(纯Bash参数扩展,无需额外工具)

conditionplain=$(curl -s "wttr.in/$location?format=%x")
# 移除变量中的制表符、回车、换行
conditionplain=${conditionplain//[$'\t\r\n']/}

验证方式

可以先打印变量的原始字节内容,确认是否存在隐藏字符:

echo "$conditionplain" | od -c

如果输出里出现\r或\n,就坐实了是隐藏字符导致的索引匹配问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 23:35:27