我正在尝试使用带有规则的PROLOG脚本文件
在批处理模式下,(非交互模式) .

Ubuntu Linux 中使用 swi-prolog
它在Prolog的交互模式下运行良好 .

但是如何在批处理模式下运行prolog? (不是交互模式) .

因此,目标是使用查询参数调用 swipl
并看到结果
作为终端的输出 .

理想的情况下,
还可以在终端输出中看到每个输入查询的规则是"true" .

我的序言 db.pl 文件:

likes(john,jane).    
likes(jane,john).    
likes(jack,jane).    

% and a single Rule below:    
friends(X,Y) :- likes(X,Y) , likes(Y, X).

我试图在终端运行:

swipl -s db.pl -t friends(X,Y)

哪里:

friends(X,Y)

是我想通过db.pl中的规则评估的目标/查询 .

预期结果:

john,jane

具有“真实”规则编号的理想输出:

john,jane,Rule01

实际结果:

bash: syntax error near unexpected token `('

找不到简单的代码示例
如何在prolog中实现这一目标......