关于bash:在shell脚本中将值存储到变量

Store value to variable in Shell script

本问题已经有最佳答案,请猛点这里访问。

"$emails"有一组值,我想解析其中的值,为此,我使用jq。如果我服从命令

1
echo"$emails" | ./jq '.total_rows'

我可以得到值,即4,我想把返回的结果存储到某个变量中,

1
total_rows="$emails" | ./jq '.total_rows'

但是总计行没有值。

1
echo $total_rows

如何将返回的结果存储到变量中?


您必须使用正确的报价,如:

1
total_rows=`echo"$emails" | ./jq '.total_rows'`

``将执行命令并给total_rows它的值,因此无论

1
echo"$emails" | ./jq '.total_rows'

将存储在total_rows中。

如Tom Fenech的评论中所述,最好使用$()代替命令。它提供了更好的可读性。所以你可以做的是:

1
total_rows=$(echo"$emails" | ./jq '.total_rows')