Powershell If then 语句不起作用。如何修复逻辑?

Powershell If then statement not working. How to fix logic?

我似乎无法使这个 'if then' 语句生效。这个简单的陈述我做错了什么。

$checkUS = "false"

$usRegions =(Get-EC2Region) |Where -Property RegionName -Like -Value "us-*" |select RegionName | foreach {$_.RegionName}
$allregions=(Get-EC2Region).RegionName

If($checkUS = "true") {$Regions=$usRegions} Else {$Regions=$allregions}

谢谢!

在 Powershell 中,= 运算符用于赋值。

您需要在定义 IF 条件时使用 -eq 比较运算符。

错误

If($checkUS = "true") ...

正确

If($checkUS -eq "true") ...

.

  • 第一部分(条件)需要比较运算符
  • 语句的第二部分是执行变量赋值,因此 = 符号在这里是很好的调用。 {$Regions=$usRegions} Else {$Regions=$allregions}

参考

About Comparison Operators