背景
最近利用 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"