Con*_*nor 5 powershell azure-devops
$myValue= (.\command.exe arguments | select -first 1)
Run Code Online (Sandbox Code Playgroud)
我在 Azure Devops 管道中运行上述代码,
$myValue包含我期望的值,但我得到:
##[error]PowerShell exited with code '1'.
Run Code Online (Sandbox Code Playgroud)
我的任务完成后返回...有人知道为什么吗?我不知道这是否是一个语法问题,或者我是否command.exe做了一些奇怪的事情来影响退出代码。
如果没有看到整个脚本,我会猜测这是由于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
Run Code Online (Sandbox Code Playgroud)
$Error.HResult -eq -2146233087作为解决方法,您可以忽略任何错误。
| 归档时间: |
|
| 查看次数: |
46246 次 |
| 最近记录: |