为什么 `terraform fmt` 似乎没有改变任何内容却输出文件名?

Sno*_*ash 1 terraform

我有一个文件 A,已提交到 git 中。

如果我做了terraform fmt --check --recursive .它输出A.

但是,如果我随后执行 a,git diff我会得到空白输出并且git status报告没有任何更改。

如果我再次重新运行terraform fmt --check --recursive .它输出A.

有什么建议吗?出了什么问题?

我对https://www.terraform.io/docs/cli/commands/fmt.html的理解 是,如果它更改了该文件,它只会输出文件名。

例子

resource "aws_vpc" "test_vpc" {
  cidr_block = "192.168.0.0/16"
  instance_tenancy = "default"
}
Run Code Online (Sandbox Code Playgroud)

问题出在这一行:instance_tenancy。在 vi 中查看它,我看不到任何奇怪的字符。

Terraform v0.15.4
on linux_amd64
+ provider registry.terraform.io/hashicorp/aws v3.37.0
Run Code Online (Sandbox Code Playgroud)

pba*_*rio 5

-check标志还暗示着-write=false

来自Terraform 文档

-write=false- 不要覆盖输入文件。-check(当输入为 STDIN 时,这由 或 暗示。)