![如何在函数中有效地使用 PowerShell 变量?](https://linux22.com/image/1617963/%E5%A6%82%E4%BD%95%E5%9C%A8%E5%87%BD%E6%95%B0%E4%B8%AD%E6%9C%89%E6%95%88%E5%9C%B0%E4%BD%BF%E7%94%A8%20PowerShell%20%E5%8F%98%E9%87%8F%EF%BC%9F.png)
$var
我知道调用变量和$script:var
函数内部的区别。像这样:
function test()
{
$var = 1
$script:var = 2
}
test
if ($script:var -eq $var)
{
Write-Host "$var = $script:var"
}
但是我必须到处都写$script:var
才能不出错吗?还有其他好方法可以达到同样的效果吗?谢谢!
答案1
不,你根本没必要这么做。
在我使用 PowerShell 的十多年里,它并不是我真正需要的东西。然而,每个人的用例都不同。然而,根据你展示的内容,你的说法通常并不正确。我想不出需要它的日常用例。
通过阅读 Powershell 文档中有关函数、变量等的“范围”部分,您可以回答整个问题...
...以及这篇出色的文章。
如果要在当前范围之外进行操作,则应使用前缀进行定义。函数应该是黑盒,设置输入/输出。