我的powershell配置文件有一个自定义的powershell提示,不幸的是导致$ lastexitcode值丢失。例如,给定一个带有内容“exit 123”的PowerShell脚本“fail.ps1”,当我运行该脚本时,$?是$ false,而$ lastexitcode是0。如果我改运行powershell而不用自定义提示加载我的配置文件,则在运行fail.ps1之后,$ lastexitcode是123。
有人看过这个问题吗?有没有一种方法可以在提示生成时保留$ lastexitcode?
我在使用Posh-git https://github.com/dahlbyk/posh-git时遇到了这个问题,它是git的不错的powershell提示。
最佳答案
可以通过在提示的开始处捕获$LASTEXITCODE
并在结尾处进行还原来解决问题:
function prompt {
$realLASTEXITCODE = $LASTEXITCODE
# ...
$LASTEXITCODE = $realLASTEXITCODE
}