使用prolog输出到bashshell

使用prolog输出到bashshell,bash,shell,prolog,pipe,Bash,Shell,Prolog,Pipe,我试图调用一个prolog程序并将输出接收到bash脚本中 目前,我使用的是极其粗糙的版本,使用halt(0)或halt(1),然后在bash中检查退出代码,使用0作为true,使用1作为false来回答prolog程序回答的问题。有没有更好的方法来处理输出?我正在使用gnu prolog。我想我可以将std重定向到一个变量或其他什么东西,但是g-prolog输出了很多废话,比如免责声明。有什么想法吗?:) 使用 gprolog --init-goal "<your_goal>,ha

我试图调用一个prolog程序并将输出接收到bash脚本中

目前,我使用的是极其粗糙的版本,使用halt(0)或halt(1),然后在bash中检查退出代码,使用0作为true,使用1作为false来回答prolog程序回答的问题。有没有更好的方法来处理输出?我正在使用gnu prolog。我想我可以将std重定向到一个变量或其他什么东西,但是g-prolog输出了很多废话,比如免责声明。有什么想法吗?:)

使用

gprolog --init-goal "<your_goal>,halt"
gprolog--init目标“,暂停”

避免GNU Prolog的默认输出。其他系统也有类似的开关。

谢谢,这几乎成功了。不过我还是从编译器中得到了输出。。我使用gprolog--init goal“[file],my_goal(),halt”。知道如何删除该输出吗?通过
tail-n+3
管道输出。我只是浏览了GNU Prolog手册,似乎没有其他方法(除了通过C)。确保您的程序成功,否则您将进入REPL。我对其他开场白也有同样的问题;永远不明白为什么他们都不支持这个用例。@larsmans或mat:如果我用gplc编译我的程序,有可能完成同样的事情吗--初始目标似乎不起作用。