$myValue= (.\command.exe arguments | select -first 1)
我在Azure Devops管道中运行以上代码,
$myValue
包含了我期望的值,但我得到了:
##[error]PowerShell exited with code '1'.
我的任务完成后返回...没有人知道为什么吗?我不知道这是语法问题,还是我的command.exe
做一些奇怪的事情来影响退出代码。
答案 0 :(得分:1)
我没有看到整个脚本,我猜这是由于known issue与Powershell的缘故:Select -First
即使成功也会填充ErrorVariable。此代码可复制:
PS > 1..2 | Select -First 2 -ErrorVariable X; $X | select *
1
2
RequestingCommandProcessor : Select-Object
Message : System error.
Data : {}
InnerException :
TargetSite : Void ProcessRecord()
StackTrace : at Microsoft.PowerShell.Commands.SelectObjectCommand.ProcessRecord()
at System.Management.Automation.CommandProcessor.ProcessRecord()
HelpLink :
Source : Microsoft.PowerShell.Commands.Utility
HResult : -2146233087
您可以忽略$Error.HResult -eq -2146233087
的任何错误,这是一种解决方法。