命令 choco install
似乎没有抛出异常。它只返回一个文本数组,这不是最有用的东西。我想安装应用程序列表并检查/处理故障。我可以解析日志,但最好能在异常发生时对其进行处理。
现在我正在做这样的事情:
$chocoMsg = (choco install $myApp -y) -join('')
if($chocoMsg -match "install of $myApp was successful.") {
Write-Host -fo:green 'Success'
} else {
# handle errors
}
有更好的方法吗?
最佳答案
在 Chocolatey 的最新版本 0.9.10 中,添加了 Chocolatey 使用与底层安装程序相同的退出代码退出的功能。您可以在此处查看描述此功能的问题:https://github.com/chocolatey/choco/issues/512 。这应该允许您检查返回的退出代码,然后决定如何继续。
此外还有两个错误,均在 0.9.10.3 中得到纠正:
- 忽略真正的退出代码 - https://github.com/chocolatey/choco/issues/827
- choco 无法识别的成功退出代码应返回 0 - https://github.com/chocolatey/choco/issues/821
关于chocolatey - Chocolatey 能否以安装/脚本的退出状态退出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37957061/