gpt4 book ai didi

jq - 有没有更好的方法将字符串输出从 jq 传递到 bash?

转载 作者:行者123 更新时间:2023-12-04 01:55:22 30 4
gpt4 key购买 nike

我刚刚发现 jq 并且非常喜欢它。一件事我发现自己做了很多事情,比如:

result=$(jq --raw-output '.some | .filters // ""')
if [[ $result ]]; then
foo
else
bar
fi

默认为空字符串似乎比 bash 的“真实性”更好 if [[ $result != "null" ]] , 而 raw-output 通常只需要将结果字符串存储在变量中。我的问题是,我在脚本中如此一致地使用这两个调整,是否有更好的方法来实现相同的功能?或者,能够设置几个环境变量来控制脚本运行期间的这种行为是否有意义(作为对 jq 的可能增强)?

最佳答案

您可以使用 -e将制作的标志 jq返回退出代码 0如果最后一个输出值既不是 falsenull那么你的逻辑可能会变成:

result=$(jq -e -r '.some | .filters') && foo || bar

关于jq - 有没有更好的方法将字符串输出从 jq 传递到 bash?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31485906/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com