使用jq如何从具有json的变量中进行查询



如何使用jq查询具有json值的变量。下面的命令返回一个分配给activity变量的json。但从activity变量不确定如何使用jq进行查询?

activity=`aws autoscaling describe-scaling-activities --profile mfa --auto-scaling-group-name cb-citation-needed --max-items 1`

当我尝试低于它时,变量activityCause为空。

activityCause=$activity| jq -r '.Activities[].Cause'

activityCause=`$activity| jq -r '.Activities[].Cause'` i get error for this one

然而,当我尝试在一个命令中查询时,它可以

activityCause=`aws autoscaling describe-scaling-activities --profile mfa --auto-scaling-group-name cb-citation-needed --max-items 1 | jq -r '.Activities[].Cause'`

第一个命令将JSON分配给activity变量。

第二个命令,需要通过管道"馈送"json,因为在activityCause=$activity中,$activity被解释为命令,而不是json;

  1. 在此处使用bash

    activityCause=$(jq -r '.Activities[].Cause' <<< "$activity")
    
  2. 使用老派echo:

    activityCause=$(echo "$activity" | jq -r '.Activities[].Cause')
    

相关内容

  • 没有找到相关文章

最新更新