背景
最近利用 jq 写了几个 GitHub Actions,其输出(outputs)只能作为字符串,而 "null" 字符串永远为真,而这种场景下,jq 于无匹配时返回空字符串更方便。
解决方案
可以通过追加 // empty 注释,以返回空字符串,而非 null。
1$ echo '{"foo":"bar"}' | jq '.foo'
2"bar"
3
4$ echo '{"foo":"bar"}' | jq '.fizz'
5null
6
7$ echo '{"foo":"bar"}' | jq '.fizz // empty'
8
9$ echo '{"foo":"bar"}' | jq '.foo // empty'
10"bar"




