我试图了解常量如何在 Powershell 中工作$TRUE
,$FALSE
以及$NULL
我应该如何分别测试它们或将它们与变量进行比较。
作为一个 Powershell 新手,我做了一些基本的测试。虽然$TRUE
并按$FALSE
预期行事,但当我尝试为 分配另一个值时,我对所看到的感到困惑$NULL
:
PS C:\Users\Administrator> $NULL=1
PS C:\Users\Administrator> $NULL="FOO"
PS C:\Users\Administrator> $NULL
PS C:\Users\Administrator>
$NULL
应该是常量或只读的,不是吗?那么,为什么我可以在 Powershell 不抛出异常的情况下为其分配另一个值,为什么该分配会被忽略?
相反,$FALSE
行为符合预期:
PS C:\Users\Administrator> $FALSE=1
Cannot overwrite variable false because it is read-only or constant.
At line:1 char:1
+ $FALSE=1
+ ~~~~~~~~
+ CategoryInfo : WriteError: (false:String) [], SessionStateUnauthorizedAccessException
+ FullyQualifiedErrorId : VariableNotWritable
PS C:\Users\Administrator>