Terraform v1.0.2无法识别TF_VAR前缀环境变量问题求助
Terraform TF_VAR环境变量不识别排查点
- 必须先在Terraform配置文件中显式声明对应变量,未声明的变量即使设置了TF_VAR前缀环境变量也会被Terraform判定为未定义,声明示例:
variable "test" { type = string # 可按需添加description、default等参数 }
- 确认环境变量生效范围:
export设置的环境变量仅对当前终端会话生效,执行terraform plan/terraform apply的终端必须和执行export TF_VAR_test="some value"的终端是同一会话,新开终端需要重新执行export命令。 - 检查变量名大小写匹配:Terraform变量名大小写敏感,
TF_VAR_后缀的字符必须和声明的变量名完全一致,比如声明变量名为Test时,环境变量需要设置为TF_VAR_Test才能匹配。 - 检查环境变量是否正确设置:执行
echo $TF_VAR_test确认输出为你预期的some value,排除拼写错误、特殊符号转义失败等问题。 - 若存在其他变量赋值方式,注意优先级覆盖:Terraform变量赋值优先级从高到低为
-var命令行参数 >*.auto.tfvars文件 >terraform.tfvars文件 > TF_VAR_前缀环境变量 > 变量默认值,更高优先级的赋值不会导致变量识别失败,但会覆盖环境变量的取值。
内容的提问来源于stack exchange,提问作者Gopalakrishnan
相关产品推荐
相关产品推荐

