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

为何$module不能作为jq变量名?该行为是否有明确规定?

关于jq中module不能作为变量名的问题
  • 核心原因:module是jq的保留关键字,属于语法层面的内置标识符,专门用于模块系统相关操作(比如定义、导入模块),因此不能被用作自定义变量名,否则会触发编译错误。

  • 解决办法:

    • 换用非保留字作为变量名,比如把参数名改成mod,命令变为:jq -n --arg 'mod' 'X' '$mod',执行后可正常输出"X"。
    • 若一定要用module作为参数名,可通过$ARGS.named对象访问该参数,命令写成:jq -n --arg 'module' 'X' '$ARGS.named.module',同样能得到预期输出"X"。
  • 规则说明:jq的官方文档明确列出了保留标识符列表,module属于其中之一。这类标识符被预留用于语言自身功能实现,不允许用户自定义使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 19:47:31