Powershell-将函数结果传递到脚本的其他部分
Powershell新手 我有一个Powershell脚本,它有一个DO-UNTIL循环。在这个循环中,我调用了2个函数。根据函数的结果确定是否可以继续脚本。我的问题似乎是将函数的结果传递回DO-UNTIL循环,以使循环继续 以下是总体思路:Powershell-将函数结果传递到脚本的其他部分,powershell,variables,Powershell,Variables,Powershell新手 我有一个Powershell脚本,它有一个DO-UNTIL循环。在这个循环中,我调用了2个函数。根据函数的结果确定是否可以继续脚本。我的问题似乎是将函数的结果传递回DO-UNTIL循环,以使循环继续 以下是总体思路: Function MyFunction1 { (Stuff happens here) IF($Good -eq "Yes"){ Return 1 }Else{ Return 0 }
Function MyFunction1
{
(Stuff happens here)
IF($Good -eq "Yes"){
Return 1
}Else{
Return 0
}
}
Function MyFunction2
{
(Other stuff happens here)
IF($ReallyGood -eq "Yes"){
Return 1
}Else{
Return 0
}
}
DO{
$a = MyFunction1
IF($a -eq 1){
$b = MyFunction2
IF($b -eq 1){
$endscript = "Yes"
}ELSE{
$endscript = "No"
}
}Else{
$endscript = "No"
}
}UNTIL(
$endscript -eq "Yes")
使用此问题:
我在函数中创建了一个变量,并将属性设置为一个数字。然后给变量赋值。最后,在IF语句中,我可以引用该变量属性
Function MyFunction1
{
(Stuff happens here)
$fun1_value = "" | Select-Object -Property number
IF($Good -eq "Yes"){
$fun1_value = 1
Return $fun1_value
}Else{
$fun1_value = 0
Return $fun1_value
}
}
Function MyFunction2
{
(Other stuff happens here)
$fun2_value = "" | Select-Object -Property number
IF($ReallyGood -eq "Yes"){
$fun2_value = 1
Return $fun2_value
}Else{
$fun2_value = 0
Return $fun2_value
}
}
DO{
$fun1 = MyFunction1
IF($fun1.number -eq 1){
$fun2 = MyFunction2
IF($fun2.number -eq 1){
$endscript = "Yes"
}ELSE{
$endscript = "No"
}
}Else{
$endscript = "No"
}
}UNTIL(
$endscript -eq "Yes")
除了最后一行中缺少的close paren,这在我的机器上运行良好。您期望的输出是什么?在函数执行过程中,会建立更多的变量,并返回它们的值。请注意,PowerShell可能会返回的不仅仅是返回后的表达式。你能告诉我这里发生了什么吗?完整的脚本有1000多行,但我想我是从中了解到的:对不起,$fun1_value=1将覆盖$fun1_value=|选择你应该写的对象-属性号:$fun1_value.number=1创建的$fun1_值