jq -e退出状态:false输出与脚本判断

用jq读取JSON布尔字段时,终端显示false不代表命令一定返回失败。默认退出状态主要反映程序是否正常运行,若要让结果参与脚本条件判断,需要理解-e的规则。

浅色学习桌与命令行练习笔记
浅色主题概念配图,选自本站AI生成图库;非事件现场或产品实测截图。

把解析成功与条件成立分开

自拟文件result.json包含ok字段,执行jq -e .ok result.json时,最后输出为false或null会返回1;输出为其他值返回0;没有有效结果则返回4。JSON语法错误或程序编译错误另有状态,不能全部归为条件不成立。

数字0与空字符串也需要注意

-e并不照搬某些语言的真假值规则:最后输出是0或空字符串时仍可返回0。若业务只允许JSON布尔true,应写明确的比较表达式,而不是假定所有看起来为空的值都会失败。

多条输出看最后一条

命令产生多条结果时,-e依据最后输出判断。若要检查整个数组是否满足条件,应在jq表达式里先形成一个汇总结论。本站用内存样例验证了true、false、null、0与无输出的退出码,没有读取真实配置。

资料与继续学习

jq官方手册:退出状态。资料查阅日期:2026年10月6日。步骤与练习由本站整理。

资料查阅与编辑日期:2026年10月6日。作者:玖柒。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享