首页 > 解决方案 > 如何在批处理模式下使用 GAP?

问题描述

我似乎无法弄清楚如何使用 GAP 计算机代数系统(例如,如果我有 python 脚本,我可以这样做python script.py > /tmp/python_output.csv)我似乎无法在 GAP 文档中找到任何信息 [我确定它是在某处])

标签: gap-system

解决方案


使用gap script.g工作正常,但它不会在最后终止 GAP,而是在最后切换到 REPL。要改变这一点,您可以使用QUIT;. 或者,如果您使用 GAP >= 4.11.0,则可以-c 'QUIT;'在命令行末尾添加,以实现对任何脚本的相同效果,而无需修改它。

此外,您可能希望使用 关闭横幅-b并使用 启用安静模式-q。最后,您可以使用--quitonbreak来禁用中断循环,以便错误终止,而不是导致等待用户输入的挂起。

总之:

gap --quitonbreak -b -q script.g

或者,如果您不想以 结束脚本,请QUIT;使用

gap --quitonbreak -b -q script.g -c 'QUIT;'

如果你觉得需要做很多,你可以把它包装成一个小助手 shell 脚本gap-batch,看起来像这样:

#!/bin/sh
gap --quitonbreak -b -q $* -c 'QUIT;'

如果你把它放到你的PATH中,那么你可以这样做

gap-batch script.g

推荐阅读