将值存储到 Shell 脚本中的变量
Store value to variable in Shell script
"$emails" 有值数组,我想从中解析值,为此,我正在使用 jq。如果我执行以下命令
echo "$emails" | ./jq '.total_rows'
我可以获得值,即 4,我想将返回的结果存储到某个变量中,
total_rows="$emails" | ./jq '.total_rows'
但 total_rows 没有价值。
echo $total_rows
如何将返回结果存储到变量中?
你必须使用正确的引用,像这样:
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')
"$emails" 有值数组,我想从中解析值,为此,我正在使用 jq。如果我执行以下命令
echo "$emails" | ./jq '.total_rows'
我可以获得值,即 4,我想将返回的结果存储到某个变量中,
total_rows="$emails" | ./jq '.total_rows'
但 total_rows 没有价值。
echo $total_rows
如何将返回结果存储到变量中?
你必须使用正确的引用,像这样:
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')