首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么要给$赋值?撞毁力壳?

为什么要给$赋值?撞毁力壳?
EN

Stack Overflow用户
提问于 2016-12-20 21:26:39
回答 1查看 180关注 0票数 5

在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没有;它们抛出只读变量错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-20 21:38:20

看起来这是一个已知臭虫。修补程序被添加到当前正在运行的版本(6.0)中。您可以找到相关的拉请求这里

我的勇气告诉我,不同行为(与其他自动变量相比)的原因是,您和系统实际上都试图同时写入该变量。尽管我不知道你为什么要给它写信(我怀疑这一切都是从某个if ($? = $true)开始的),但我确实同意这是非常讨厌的。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41251513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档