我想知道是否可以将条件语句保存为变量。
如果我将它转换为带有弯曲括号()的变量,它将保存条件语句的解。 如果我用引号加注它,它显然保存为字符串。
我想要完成的是让if语句计算条件语句而不是在转换为变量时发生。
例如:
$value = 0
$statement = $value -eq 5
$value = 5
if($statement) { Write-Output "value is 5" }
这应该给我输出"值是5"
答案 0 :(得分:1)
$value = 0
$statement = { $value -eq 5 }
$value = 5
if(& $statement) { Write-Output "Test1: value is 5" }
$value = 2
if(& $statement) { Write-Output "Test2: value is 5" }
输出是:
Test1: value is 5
$statement
的类型为ScriptBlock,&
运算符会在传递一个脚本块时执行该脚本块。