gpt4 book ai didi

powershell - "true"弄乱了 Powershell 中的转义码处理?

转载 作者:行者123 更新时间:2023-12-02 22:57:25 24 4
gpt4 key购买 nike

我刚才在我的 Powershell 脚本中观察到一些奇怪的东西,我最终将它缩小到我的代码中的一个错误,就是这一行:

$AnyExecuted = true

应该是

$AnyExecuted = $true

但是,这一行混淆了 Windows 10 上的标准 Powershell Core 窗口以及 Windows 终端中的转义码处理:

messed up prompt

有人知道为什么会这样吗? true 表达式是什么?我找不到任何关于它的提及,为什么它会对 Powershell 的输出产生这种影响?

请注意,显然我更新了我的脚本以使用 $true,这正是我想要的,这个问题只是关于什么是 true

最佳答案

执行时

$AnyExecuted = $true

$AnyExecuted 将是 Boolean 类型,您的脚本可能会按预期运行。如果你执行

$AnyExecuted = true

相反,如果没有错误被抛出,则有一个别名、cmdlet 或可执行文件可用,名称为 true。它在默认的 Windows 10 安装中不可用。

因为它不会在你这边抛出错误,你可能有 true 以某种方式可用。您可以使用 Get-Command true 进行检查。例如,使用 MinGW 环境,使 true.exe 可用。

使用您仍然未知的 true“事物”的结果可能确实会导致意外行为。要调查 true 的结果,您可以在您的系统上评估 (true).GetType()

关于powershell - "true"弄乱了 Powershell 中的转义码处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62529939/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com