繁体   English   中英

PowerShell变量值未保留

[英]PowerShell variable value is not retained

我是Powershell的新手。

PS的工作方式让我感到惊讶,尤其是它如何保留变量。

例:

[string]$a=""    
$a = "world" 
$b = "Hello $a" 
write-host $b 

$a = "world2" 
write-host $b

结果是:

Hello world
Hello world

为什么第二个写入主机不显示“ Hello world2”?

仅仅因为当您写$b = "Hello $a"$b = "Hello $a"的值$a被消耗,而新字符串为Hello world

就像说的JPBlanc一样,您的变量被重写了...

你可以这样做 :

$a = "world" 
Set-PSBreakpoint -Variable b -Mode Read -Action { $global:b = "Hello $a" }

write-host $b  

$a = "world2" 
write-host $b

或者简单地使用一个函数:

function SayHello($who){
"Hello $who"
}

$a = "world" 
SayHello($a)

$a = "world2" 
SayHello($a)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM