PowerShell变量值未保留
我是Powershell的新手 PS的工作方式让我很惊讶,尤其是它如何保留变量 例如:PowerShell变量值未保留,powershell,variables,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?仅仅是因为当您写入$b=Hello$a时,$a的值被消耗,而新字符串是Hello world。就像JPBla
[string]$a=""
$a = "world"
$b = "Hello $a"
write-host $b
$a = "world2"
write-host $b
结果如下:
Hello world
Hello world
为什么第二个写入主机不显示Hello world2?仅仅是因为当您写入$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)
实际上,大多数语言都是这样工作的!不,调试入口点应该是为调试而不是为编程而保留的。当然我同意你的观点,但任何方法都值得知道。如果我们开始按照这个或那个标准分类,我们什么都学不到。。。不