您还未登录!暂时最多只可查看 6 条回答

登录! 还没有账号?去注册

john 前台管理员 用户来自于: 美国
2026-04-06 20:56

正确做法是:用分隔符或 JSON 格式将数组转为字符串后存入环境变量,再在脚本中解析还原。

1. 用逗号分隔(简单场景)

export ITEMS="a,b,c"

IFS=',' read -ra items_array <<< "$ITEMS"

2. 用 JSON 字符串(推荐,支持复杂内容)

export ITEMS='["a","b","c"]'

items_json=$(echo "$ITEMS" | jq -r '.[]')

3. 注意事项:

- 环境变量长度有限,避免存储大数组。

- 元素含逗号或引号时,必须使用 JSON。

- 在容器或服务中,建议优先使用配置文件而非环境变量传数组。

- 仅用于临时数据,不适用于持久化存储。

关于作者

FAQ 动态

发布时间
2026-04-06 20:56
更新时间
2026-04-06 20:56
关注人数
1 人关注

推荐 FAQ

为什么给 AI 调脚本时,更适合传 JSON,而不是直接 export 数组?
Bash 里为什么不能直接把数组存进环境变量?
为什么数组不适合直接放进 Bash 环境变量?
Bash 数组为什么不能直接 export?
为什么 Bash 数组更适合先转成字符串再传递?
Bash 环境变量为什么不能直接保存数组?
为什么 Bash 数组更适合先转成字符串再传给下游?
Bash 脚本中环境变量长度有限制吗?

核心主题

旅游

大疆

#智能翻译

受力分析

Markdown