我想将函数定义放在/usr/lib/jq/mytest.jq中,以包含在我的jq脚本中。
来自manual:
默认搜索路径是给-L的搜索路径 命令行选项,否则[“〜/ .jq”,“ $ ORIGIN /../ lib / jq”, “ $ ORIGIN /../ lib”]。
因为jq在/ usr / bin中,所以/usr/bin/../lib/jq不在搜索路径中吗?我无法使用此命令:
jq -n 'include "mytest";'
在命令中添加-L / usr / lib / jq可以,或者我可以创建〜/ .jq / mytest.jq,也可以。但是,我想使用〜/ .jq文件进行启动。如何在没有在命令行上指定-L的情况下获得启动脚本和包含搜索路径?
答案 0 :(得分:1)
如何在没有在命令行上指定-L的情况下拥有启动脚本和包含搜索路径?
使用模块元数据功能,例如:
include "mytest" {"search": "/usr/local/lib/jq"};
$ cat /usr/local/lib/jq/mytest.jq
def go: "hello";
$ jq -n 'include "mytest" {"search": "/usr/local/lib/jq"}; go'
"hello"
如果您认为jq的当前版本(1.6)与https://stedolan.github.io/jq/manual/v1.6/上的相应文档不匹配 请在https://github.com/stedolan/jq/issues
提交报告