Bash 将值存储到Shell脚本中的变量
“$emails”有一个值数组,我想解析其中的值,为此,我使用。如果我按命令做Bash 将值存储到Shell脚本中的变量,bash,shell,jq,Bash,Shell,Jq,“$emails”有一个值数组,我想解析其中的值,为此,我使用。如果我按命令做 echo "$emails" | ./jq '.total_rows' 我可以得到值,即4,我想将返回的结果存储到某个变量中 total_rows="$emails" | ./jq '.total_rows' 但总行数没有值 echo $total_rows 如何将返回的结果存储到变量中?您必须使用正确的引号,如下所示: total_rows=`echo "$emails" | ./jq '.total_row
echo "$emails" | ./jq '.total_rows'
我可以得到值,即4,我想将返回的结果存储到某个变量中
total_rows="$emails" | ./jq '.total_rows'
但总行数没有值
echo $total_rows
如何将返回的结果存储到变量中?您必须使用正确的引号,如下所示:
total_rows=`echo "$emails" | ./jq '.total_rows'`
``将执行该命令,并给出它的值,因此无论它的输出是什么
echo "$emails" | ./jq '.total_rows'
因此将存储在总计行中
正如Tom Fenech在评论中提到的,最好使用$()
替换命令。它提供了更好的可读性。因此,您可以做的是:
total_rows=$(echo "$emails" | ./jq '.total_rows')
谢谢@Nidhoegger。这是可行的,我建议使用
$()
代替backticks来替换命令。另外,在bash中,您可以使用total_rows=$(./jq.total_rows'注意,您也不能添加空格total_rows=`不起作用