[英]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.