Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.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
如何在bash脚本中查询命令的结果_Bash - Fatal编程技术网

如何在bash脚本中查询命令的结果

如何在bash脚本中查询命令的结果,bash,Bash,我有以下bash脚本: #!/bin/bash echo "GET load test" for i in $(seq 1 50) do MY_RESULTS = "$(curl -i -H "Accept: application/json" -X GET http://localhost/test/store/widget/123)" echo "$MY_RESULTS" done 我不知道为什么,但结果没有打印出来。当我将代码更改为以下内容

我有以下bash脚本:

 #!/bin/bash 
  echo "GET load test"     
  for i in $(seq 1 50) do
     MY_RESULTS = "$(curl -i -H "Accept: application/json" -X GET http://localhost/test/store/widget/123)"
     echo "$MY_RESULTS" 
  done
我不知道为什么,但结果没有打印出来。当我将代码更改为以下内容时,它会起作用:

 curl -i -H "Accept: application/json" -X GET http://localhost/test/store/widget/123)"
然后结果就显示在屏幕上。最后,我想搜索结果的内容,寻找一个特定的字符串值,比如“200OK”

我创建了另一个测试脚本来测试如何保存,并将值回显到屏幕上,它就可以工作了。它看起来像这样:

MY_VAR="$(find -name loadtest.sh)"
echo "$MY_VAR"
它显示的结果是:

/loadtest.sh


我看不出这个名为MY_VAR的变量与bash中负载测试中的变量有什么不同,赋值语句中不能有关于equals运算符的空格。分配
$MY_RESULT
时删除空格:


MY_RESULTS=“$(curl-i-H”Accept:application/json)-X GEThttp://localhost/test/store/widget/123)

作业中的空格可能会给您带来问题,请尝试:
MY\u RESULTS=$(curl…
在do前面加一个新行或分号是个好主意worked@dan08您想发布为答案以便我可以接受吗?另外,您能告诉我如何将字符串“200 OK”的结果也显示为灰色吗?@Happydevdays新问题→ 新问题。