Tente isso na segunda linha:
PB_SIG='echo $TEST | jq '.foo''
Os dois problemas que vejo é que você precisa ecoar o valor da variável $ TEST através do pipe e que você precisa capturar a saída do comando canalizado.
Eu instalei o jq para manipular alguns JSON com o bash. Mas, de alguma forma, canalizar a string JSON para jq em combinação com salvar sua saída para outra variável deu errado.
TEST='{"foo": "bar"}'
PB_SIG=$TEST | jq '.foo'
echo $PB_SIG
Ele exibe apenas a string TEST JSON inteira. Alguém?
Use isso com o bash:
TEST='{"foo": "bar"}'
PB_SIG=$(jq '.foo' <<< "$TEST")
echo "$PB_SIG"
Saída:
"bar"
Tags bash pipe json command-substitution