AC. 梦想

frank_c1

Linux下对拍脚本

发布于2016年03月13日 | 暂无评论 | 1,262阅读 | 生涯框架

用惯了Windows的bat,转成Linux的sh,还是花了不少功夫的。

先贴上Linux系统下对拍脚本的模板:

简要解释一下某些关键点,顺便也作为备忘。

1.#!/bin/bash 一定不能少加,此行解释了脚本的shell路径。

2.该脚本自动将对拍需要的程序重新编译。对拍文件夹下必须要有两个对拍的源程序(a.cpp,b.cpp),一个造数据程序(dmk.cpp);如果需要SPJ,还需要有检查程序(check.cpp),若要使用SPJ只要用check代替diff即可。

3.所有程序无须加文件操作,由系统对程序进行标准输入输出。

4.diff命令的"-b"参数忽略了行末空白字符。若diff检测出输出文件存在差异,将输出相关信息,对拍脚本停止。

另外,该脚本加入了计数功能,少加改动后可以作为简单的评测脚本,不过暂时无法检测TLE和MLE等。

具体使用方法:终端进入对拍文件夹下,第一次对拍请使用"chmod +x check.sh"获得执行权限。终端键入"./check.sh"即可开始对拍。该脚本在Ubuntu和Mac下实测可用,实际使用时自行改变相关参数。