You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jq中使用empty赋值变量导致无输出,此现象是否符合预期?

关于jq中未使用变量影响输出的疑问解答

这个现象完全符合jq的预期设计,核心原因在于as操作符的运行逻辑:

  • X as $var | Y的执行流程是:先计算表达式X的输出流,每产生一个值就绑定给$var,再基于原始输入执行过滤器Y并输出结果。
  • 当X是"bla"这类能产生单个值的表达式时,变量绑定完成后,后续的.会正常执行,输出原始输入内容。
  • 但如果X是empty,这个表达式不会产生任何输出值,相当于没有触发后续Y的执行条件,整个查询自然就没有输出结果。

说白了,as后面的过滤器是否运行,取决于前面的表达式有没有输出值——empty没输出,后续代码根本跑不起来,和变量有没有被使用没关系。

内容的提问来源于stack exchange,提问作者kriomant

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 09:47:05