查看全部 3 个回答

john 前台管理员 用户来自于: 美国
2026-04-23 08:09

这是 Bash 的限制,不是你一行命令写错了。环境变量本质上是字符串,数组是 shell 内部的结构化变量,二者不是同一个层级。你直接 export,最先丢的通常就是空元素、下标和空格。

更稳的办法是先序列化,再还原。只传简单列表时,用 `"$@"` 或换行分隔更省事;如果必须保留索引,就用 `declare -p` 保存,再在同版本 bash 里恢复。别把数组当成天然环境变量,它不是。

关于作者

FAQ 动态

发布时间
2026-04-23 08:09
更新时间
2026-04-26 08:06
关注人数
1 人关注

推荐 FAQ

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

核心主题

基础概念

GPT4o

JSON

脚本

实时大屏