PowerShell 变量作用域深度解析
作用域层级体系
1 | $globalVar = 'Global' |
作用域穿透规则
- 自上而下继承:子作用域自动继承父作用域变量
- 块级隔离:begin块变量不能在process块外访问
- 全局修改:使用$global:前缀跨作用域修改变量
- 变量生命周期:process块变量在每个管道元素独立创建
最佳实践
- 使用param块显式声明函数参数
- 避免在process块修改全局变量
- 通过$script:作用域访问脚本级变量
- 使用Write-Verbose代替临时变量调试