" $电子邮件"有值数组,我想解析它的值,为此,我使用jq。如果我做以下命令
echo "$emails" | ./jq '.total_rows'
我可以得到值,即4,我想将返回的结果存储到某个变量中,
total_rows="$emails" | ./jq '.total_rows'
但是total_rows没有价值。
echo $total_rows
如何将返回的结果存储到变量中?
答案 0 :(得分:10)
您必须使用正确的引用,如下所示:
total_rows=`echo "$emails" | ./jq '.total_rows'`
``将执行命令并给它total_rows
的值,所以无论输出是什么
echo "$emails" | ./jq '.total_rows'
将存储在total_rows
。
正如Tom Fenech的评论中所提到的,最好使用$()
进行命令替换。它提供了更好的可读性。所以你能做的是:
total_rows=$(echo "$emails" | ./jq '.total_rows')