如何将现有环境变量OLD_KEY重命名为KEY且保留原有变量值
问题原因
你之前使用的export KEY=${${OLD_KEY}}不符合Shell语法规范,原生Shell不支持直接嵌套的变量展开写法,执行时会抛出语法错误。
通用解决方案
你不需要使用嵌套展开,直接引用旧环境变量的值赋值给新变量即可实现需求,全POSIX Shell兼容的命令如下:
- 赋值新环境变量
export KEY="$OLD_KEY"
- (可选)删除旧环境变量
如果不需要保留OLD_KEY,可执行删除命令:
unset OLD_KEY
验证方法
执行以下命令输出新变量的值,确认和原值一致即可:
echo $KEY
特殊场景兼容(间接引用)
如果你遇到旧变量名存储在另一个变量中的场景(比如var_name="OLD_KEY"),可以根据你使用的Shell选择对应写法:
- Bash环境:使用间接展开语法
export KEY="${!var_name}" - Zsh环境:使用P标志展开
export KEY="${(P)var_name}"
内容的提问来源于stack exchange,提问作者Andreas
相关产品推荐
相关产品推荐

