如何在Control-M中结合ctm.yaml使用配置环境文件实现分环境发邮件
在Control-M的ctm.yaml中引用环境变量的正确方法
1. 先确保环境变量被正确加载
- 在执行
ctm deploy前,用source命令加载对应环境的配置文件:# 加载测试环境配置 source ./env_files/test_env.conf # 加载生产环境配置 source ./env_files/prod_env.conf - 执行
echo $EMAIL_ENV验证变量是否生效,能输出目标邮箱地址才算加载成功。
2. 在ctm.yaml中用官方语法引用变量
Control-M的YAML定义只认%%ENV[变量名]%%格式的环境变量引用,比如配置邮件通知的示例:
jobs: - name: 业务处理作业 type: Command command: ./business_script.sh notifications: onSuccess: email: to: "%%ENV[EMAIL_ENV]%%" subject: "作业执行成功通知" body: "您的作业已顺利完成"
3. 常见问题排查
- 别用
${EMAIL_ENV}、%%GETENV EMAIL_ENV这类非官方语法,Control-M不支持。 - 必须保证
source加载配置和ctm deploy在同一个shell会话里,分开终端或新开会话会导致变量失效。 - 检查配置文件里的
export语句,比如export EMAIL_ENV=someemail@somemail.com,不要加多余引号(除非变量值包含空格),也不要有拼写错误。
内容的提问来源于stack exchange,提问作者Obed Isai Rios
相关产品推荐
相关产品推荐

