第4,5行
要运行的是两个源文件编译出来的可执行程序,而不是两个源文件,和windows一样的(我相信你的可执行文件后缀名不是.cpp)
写出来是这个样子的
```
#! /bin/bash
while true; do
./data.exe > data.in
./my.exe < data.in > myout.out
./baoli.exe < data.in > baoliout.out
if diff myout.out baoliout.out; then
printf "AC\n"
else
printf "WA\n"
exit 0;
fi
done
```
这里的.exe文件是用终端编译出来的文件
比如编译baoli.cpp这个程序就可这样写
```
g++ baoli.cpp -o baoli.exe
```
这样就生成了一个可执行的.exe文件
然后这里的.out文件并不是Linux下用终端编译出来默认的.out可执行文件,而是一个文本
by Li_Dicker @ 2019-11-15 15:35:09
@[Li_Dicker](/user/64373) 谢谢我去试试
by danefishhh @ 2019-11-15 15:40:20
你这是没有root权限。
有两种方法解决这个问题。(都需要Terminal)
```
sudo -i
cd <你cmp.sh的文件目录>
./cmp.sh
```
上面这个方法,先是切换到root,再运行。
```
cd <cmp.sh所在的文件目录>
sudo sh cmp.sh
```
这个呢,直接用root用户运行了它
(其实也可以chmod等命令解决,但我懒得打字了)
by MichaelRemiWu @ 2019-11-15 15:41:36
~~感觉用c++写的那种方便点~~
by danefishhh @ 2019-11-15 15:47:52