Bash

保存管道值出錯了

  • July 2, 2015

我安裝了 jq 來用 bash 處理一些 JSON。但是以某種方式將 JSON 字元串傳輸到 jq 並結合將其輸出保存到另一個變數出錯了。

TEST='{"foo": "bar"}'
PB_SIG=$TEST | jq '.foo'
echo $PB_SIG

它只輸出整個 TEST JSON 字元串。有人嗎?

在第二行試試這個:

PB_SIG=`echo $TEST | jq '.foo'`

我看到的兩個問題是您需要通過管道回顯 $TEST 變數的值,並且您需要擷取管道命令的輸出。

將此與 bash 一起使用:

TEST='{"foo": "bar"}'
PB_SIG=$(jq '.foo' <<< "$TEST")
echo "$PB_SIG"

輸出:

“酒吧”

引用自:https://unix.stackexchange.com/questions/213603