燕山大学Linux的OJ系统设计样例
这个脚本中,最关键的就是编译比较代码,这就是OJ系统的核心,具体代码在链接里面,希望大家好好研究,有不足的地方尽管指出!
通过gcc 编译目录下的.c 文件,将编译的结果写入a.txt
gcc /home/liuzejiang/myfile/cs/temp.c >>a.txt 2>&1
2>&1 的意思就是将标准错误重定向到标准输出。这里标准输出已经重定向到了a.txt。那么标准错误也会输出到a.txt
cat /dev/null >/home/liuzejiang/myfile/cs/b.txt
可以/dev/null等价于一个只写文件. 写入它的内容都会永远丢失. 从它那读取内容什么也读不到
while read line
do
echo $line | /home/liuzejiang/myfile/cs/a.out >>/home/liuzejiang/myfile/cs/b.txt
echo "写入结果"
done </home/liuzejiang/myfile/T1234/cin.txt
逐行done从cin.txt里面读取内容。参数line,当接收到参数的时候通过管道线传给a.out文件运行 ,将运行结果输出的b.txt
cmp -s /home/liuzejiang/myfile/cs