我刚刚开始做一些PowerShell脚本,我遇到了测试变量值的问题.我尝试在启用所有警告的情况下运行所有警告,特别是在我学习的时候,以便捕捉到愚蠢的错误.所以,我正在使用CTPV3并使用"set-strictmode -version latest"设置严格模式.但我正在遇到一个路障,检查输入变量的值.这些变量可能已经或可能尚未设置.
# all FAIL if $var is undefined under "Set-StrictMode -version latest"
if ( !$var ) { $var = "new-value"; }
if ( $var -eq $null ) { $var = "new-value"; }
Run Code Online (Sandbox Code Playgroud)
我找不到一种方法来测试变量是否具有在变量丢失时不会引起警告的值,除非我关闭严格模式.而且我不想在整个地方打开和关闭严格模式只是为了测试变量.我确定我会忘记在某个地方把它转回来,它看起来非常混乱.这不可能是正确的.我错过了什么?