在PowerShell中运行代码$? = $true
崩溃的程序与“powershell已停止工作”窗口的错误信息。
一些内置像$true
或$host
抛出一个错误:Cannot overwrite variable true because it is read-only or constant.
。其他人喜欢$myinvocation
或$null
被忽略。为什么$?
不同?有哪些内建文件具有哪些响应的文档? help about_automatic_variables
没有任何详情。
我目前正在运行5.1版本。我也尝试使用powershell -version $n '$? = $true'
和版本3-5全部崩溃。有趣的是,版本1和版本2没有;他们抛出只读变量错误。
你想要反汇编代码,说明它为什么崩溃,或者你想知道它是否应该这样做?后者的答案是肯定的否定。愚蠢的错误是一个错误。 PowerShell 3是一个将PowerShell转换到动态语言运行时的新版本;一堆行为随着它而改变。一些有益的,一些令人惊讶的,一些只是普通的越野车。这似乎是后一种情况之一。 –
我想知道是否有意/记录。有趣的是版本3和DLR,我之前没有听说过。有什么地方可以发送错误报告,或者我应该不担心吗? –
奇怪。 PSVersion 5.0.10586.117抛出'不能覆盖变量?因为它是只读的或不变的。' –