ecco la mia config.json:passaggio di argomenti a filtro JQ
{
"env": "dev",
"dev": {
"projects" : {
"prj1": {
"dependencies": {},
"description": ""
}
}
}
}
Qui sono comandi mia bash:
PRJNAME='prj1'
echo $PRJNAME
jq --arg v "$PRJNAME" '.dev.projects."$v"' config.json
jq '.dev.projects.prj1' config.json
L'output:
prj1
null
{
"dependencies": {},
"description": ""
}
Così $ PRJNAME è prj1 , ma la prima invocazione produce solo null
.
Qualcuno può aiutarmi?
Hai provato la rimozione del ' "'' intorno $ v'? Perché non stai usando la shell di compilare la variabile come 'JQ" .dev.projects. $ PRJNAME" config.json'? –
@RamboRamon, usare la shell per riempire la variabile è soggetto a errori - pensa se contiene caratteri come virgolette che devono essere sfuggite. 'Jq' è garantito per generare un output sintatticamente valido –