2015-05-29 80 views
-1

「$ emails」具有值的數組,我想從中解析值,要執行此操作,我正在使用jq。如果我做下面的命令將值存儲到Shell腳本中的變量

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

我能得到的數值即4,我想返回的結果存儲到一些變量,

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

但有TOTAL_ROWS沒有價值。

echo $total_rows 

如何將返回的結果存儲到變量中?

回答

5

你必須使用正確的引號,像這樣:

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

的``將執行命令,並給total_rows它的價值,所以無論將是

echo "$emails" | ./jq '.total_rows' 
輸出

將被存儲在total_rows中。

+0

謝謝@Nidhoegger。它的工作原理 – Sivailango

+3

我推薦使用'$()'作爲替換命令的反引號。另外,在bash中,你可以使用'total_rows = $(./ jq'.total_rows'<<<「$ emails」)''。 –

+0

還請注意,您不能添加空格total_rows ='不起作用 –

相關問題