Is there a better way to pass string output from jq to bash? -
i’ve discovered jq , been loving it. 1 thing find myself doing lot though stuff like:
result=$(jq --raw-output '.some | .filters // ""') if [[ $result ]]; foo else bar fi
the default empty string seems play more nicely bash "truthiness" e.g. if [[ $result != "null" ]]
, , raw-output necessary store resultant string in variable. question is, i’m using these 2 tweaks consistently in scripts, there perhaps better way achieve same functionality? or make sense (as possible enhancement jq) able set couple env vars control behavior duration of script?
you can use -e
flag make jq
return exit code 0
if last output value neither false
or null
logic may become:
result=$(jq -e -r '.some | .filters') && foo || bar
Comments
Post a Comment