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