不保留PowerShell变量值

时间:2017-10-24 03:22:12

标签: powershell variables

我是Powershell的新人。

有些东西让我惊讶PS的工作方式,特别是它如何保留变量。

示例:

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

$a = "world2" 
write-host $b

以下是结果:

Hello world
Hello world

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

2 个答案:

答案 0 :(得分:1)

只是因为当您撰写$b = "Hello $a"时,$a的值已用完,新字符串为Hello world

答案 1 :(得分:0)

与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)