Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 将cURL和jq输出保存到批处理脚本中的变量_Batch File_Curl_Jq - Fatal编程技术网

Batch file 将cURL和jq输出保存到批处理脚本中的变量

Batch file 将cURL和jq输出保存到批处理脚本中的变量,batch-file,curl,jq,Batch File,Curl,Jq,我使用此命令检索Jenkins中生成的结果: curl -s http://<jenkins_url>/job/<job_name>/lastCompletedBuild/api/json | jq ."result" curl-shttp:///job//lastCompletedBuild/api/json |jq.“结果” 根据该结果,我需要决定使用批处理命令执行的操作 如何将命令的输出保存为变量?您应该能够在批处理文件中使用For/F命令将命令的输出返回到变

我使用此命令检索Jenkins中生成的结果:

curl -s  http://<jenkins_url>/job/<job_name>/lastCompletedBuild/api/json | jq ."result"
curl-shttp:///job//lastCompletedBuild/api/json |jq.“结果”
根据该结果,我需要决定使用批处理命令执行的操作


如何将命令的输出保存为变量?

您应该能够在批处理文件中使用
For/F
命令将命令的输出返回到变量:

For/F“Delims=“%%A In('”旋度-shttp:///job//lastCompletedBuild/api/json |jq.“结果”“)是否设置“测试=%%~A”
如果/I“%test%”==“failed”…DoSomething
如果/I“%test%”==“success”…DoSomethingElse
如果/I“%test%”==“不稳定”…不执行任何操作
但是,可能根本不需要设置变量,因为您可以直接使用返回的元变量:

For/F“Delims=“%%A In('
“curl-shttp:///job//lastCompletedBuild/api/json |jq.“结果”
""做"(
如果/I“%%~A”==“失败”…做某事
如果/I“%%~A”=“成功”…DoSomethingElse
如果/I“%%~A”==“不稳定”…不做任何事情
)

您试图在批处理脚本中使用BASH语法。BATCH是一个windows脚本系统,BASH用于unix系统。我相信批处理等价物应该是
settest=(curl-s)http:///job//lastCompletedBuild/api/json |jq.“结果”)回显%test%
,但不保证,我已经很多年没有做过批处理脚本编写了。@hanshenrik我也做过测试,但没有效果。@compo编辑了这个问题以使问题更清楚。cURL命令与返回“result”值的jq组合返回三个值中的一个,我需要根据返回的值执行一个操作-为此,我想将它保存到一个变量中,@Compo-我将尝试解释我自己,我试图将问题中命令的输出设置为变量,以便我可以根据变量中的字符串值在批处理脚本中执行不同的操作,命令返回“失败”、“成功”或“不稳定”,我想知道如何获取命令的输出并将其插入变量中。