如何通过Bash命令将AWS Elastic Beanstalk环境变量复制至另一环境?
复制AWS Elastic Beanstalk环境变量到另一个环境的Bash命令
可以通过组合eb printenv和eb setenv命令实现需求,具体命令如下:
# 替换为实际的源环境和目标环境名称 SOURCE_ENV="your-source-environment" TARGET_ENV="your-target-environment" eb setenv --environment $TARGET_ENV $(eb printenv $SOURCE_ENV | grep -v '^Environment variables for' | grep -v '^--$' | tr '\n' ' ')
命令说明
eb printenv $SOURCE_ENV:拉取源环境的所有环境变量列表grep -v '^Environment variables for':过滤掉输出开头的环境名称说明行grep -v '^--$':过滤掉输出中的分隔线tr '\n' ' ':将每行单独的变量格式转换为空格分隔的格式,适配eb setenv的输入要求eb setenv --environment $TARGET_ENV ...:将处理后的变量批量设置到目标环境
注意事项
- 目标环境中已存在的同名变量会被源环境的值覆盖
- 执行前可单独运行
eb printenv $SOURCE_ENV | grep -v '^Environment variables for' | grep -v '^--$'检查要复制的变量内容,确认无误后再执行完整命令 - 需确保当前AWS CLI和EB CLI有操作两个环境的权限
内容的提问来源于stack exchange,提问作者Zags
相关产品推荐
相关产品推荐

