如何在shell中读取jq中的变量时删除引号?

时间:2017-09-13 03:09:01

标签: json bash shell sed jq

给定一个JSON文件arguments.json

{"dagger": true, "version": false, "nether_strike": true, 
 "greater_bash": "5", "FILE": "ancientscroll.txt", 
 "empower_haste": "1", "help": false}

当调用这样的变量时:

#!/bin/bash
dagger=$(cat arguments.json | jq '.["dagger"]')
greater_bash =$(cat arguments.json | jq '.["greater_bash"]')    

echo $dagger
echo $greater_bash

[OUT]:

true
"5"

该变量包含引号""

如何在jq中读取变量时删除引号?

我可以使用sed来删除引号:

greater_bash =$(cat arguments.json | jq '.["greater_bash"]' | sed -e 's/^"//' -e 's/"$//')
echo $greater_bash

[OUT]:

5

但是,从jq阅读时有没有办法删除引号?

0 个答案:

没有答案