When i execute below command, it is printing the required thing i.e abcd1g2f
cat priv.json | jq '.data | map(select(.properties | any(.[]; .value == "client_release")) |.id)[0]'
but when i execute same from shell script (this is requirement), it is printing null. can someone please help me?
below is the shell script (test.sh) i wrote:
get_priv0=$(cat priv.json | jq '.data | map(select(.properties | any(.[]; .value == "$1")) |.id)[0]')
echo $get_priv0
command which i executed
./test.sh client_release
JSON file (priv.json) is below:
{
"data": [{
"id": "abcd1g2f",
"resourceURI": "https://somerepo.com/service/local/privileges/abcd1g2f",
"name": "release1",
"description": "release1",
"type": "target",
"userManaged": true,
"properties": [{
"key": "repositoryGroupId",
"value": ""
}, {
"key": "method",
"value": "create,read"
}, {
"key": "repositoryId",
"value": "client_release"
}, {
"key": "repositoryTargetId",
"value": "1"
}]
}, {
"id": "asdf1k4g",
"resourceURI": "https://somerepo.com/service/local/privileges/asdf1k4g",
"name": "release2",
"description": "release2",
"type": "target",
"userManaged": true,
"properties": [{
"key": "repositoryGroupId",
"value": ""
}, {
"key": "method",
"value": "read"
}, {
"key": "repositoryId",
"value": "formal_release"
}, {
"key": "repositoryTargetId",
"value": "1"
}]
}, {
"id": "hirk5d7b3l",
"resourceURI": "https://somerepo.com/service/local/privileges/hirk5d7b3l",
"name": "release3",
"description": "release3",
"type": "target",
"userManaged": true,
"properties": [{
"key": "repositoryGroupId",
"value": ""
}, {
"key": "method",
"value": "create,read"
}, {
"key": "repositoryId",
"value": "client_release"
}, {
"key": "repositoryTargetId",
"value": "1"
}]
}]
}