使用此脚本:https://github.com/byterogues/powershell-bittrex-api 我从另一个剧本打电话。
e.g。
$order = .\bittrex-api.ps1 -action buylimit -market BTC-TX -quantity 1 -rate 0.00011300
bittrex-api.ps1捕获错误并在屏幕上显示
BITTREX错误:API查询返回错误。 错误消息:MIN_TRADE_REQUIREMENT_NOT_MET
如何将bittrex-api.ps1的输出捕获到变量中,以便在基本脚本中使用此变量?
答案 0 :(得分:0)
补充Frode F.'s helpful answer,明智地建议修改脚本以使用Write-Error
进行错误报告:
如果修改代码不是一个选项,并且您正在使用 PSv5 + ,那么 可以捕获Write-Host
输出 ,因为PSv5 Write-Host
写入新引入的信息输出流(主要是Write-Information
设计写入):
PowerShell的输出流已编号,信息流的编号为6
,因此输出重定向表达式 6>&1
将信息流重定向到成功输出流,其编号为1
,允许在变量中进行常规捕获,如下例所示:
# PSv5+
$captured = & { Write-Host 'write-host output' } 6>&1
$captured # output what was captured -> 'write-host output'
要详细了解PowerShell的输出流和重定向,请运行Get-Help about_Redirection