执行Terraform Apply时为什么无法在PowerShell中输入确认值yes?
Terraform在PowerShell中执行apply无法输入yes的解决方案
问题原因
该问题是旧版PowerShell窗口的交互特性和Terraform默认的无回显确认逻辑冲突导致的,属于Windows环境下的常见适配问题。
注意:Terraform的确认提示符默认不回显输入内容,哪怕输入正常你也看不到屏幕上有字符显示,很多用户会误以为没有输入成功。
解决方法
方法1:跳过交互式确认(最常用)
确认terraform plan输出的变更内容符合预期后,直接执行带自动确认参数的命令即可,完全跳过输入环节:
terraform apply -auto-approve
方法2:修复PowerShell输入兼容性
如果需要保留手动确认环节,调整PowerShell窗口配置即可:
- 右键PowerShell窗口顶部的标题栏,选择「属性」
- 切换到「选项」标签页,取消勾选「快速编辑模式」,点击确定保存设置
- 重新执行
terraform apply,直接输入yes后按回车即可,输入过程无字符显示属于正常情况
如果以上操作无效,可以改用Windows Terminal运行PowerShell,原生适配Terraform的交互逻辑,不会出现输入失效问题。
方法3:通过计划文件执行应用
可以提前将变更计划导出为文件,应用时不需要二次确认:
- 执行命令生成计划文件,会自动输出所有待执行变更:
terraform plan -out=tfplan
- 确认变更无误后,直接应用已生成的计划文件即可,无需输入yes:
terraform apply tfplan
内容的提问来源于stack exchange,提问作者Kenny_I
相关产品推荐
相关产品推荐

