求助!帮忙把一个win下的.bat翻译成shell脚本

sh/bash/dash/ksh/zsh等Shell脚本
回复
rz001
帖子: 2
注册时间: 2010-01-15 14:08

求助!帮忙把一个win下的.bat翻译成shell脚本

#1

帖子 rz001 » 2010-01-20 1:23

我是搞信息学竞赛的,刚刚把编程环境从win改到ubuntu下,在win下我们编完程序后就运行下面这个.bat来测试我的算法是否正确(比如一个程序名为fruit,测试文件下有fruit1.in,fruit2.in...fruit10.in,10个输入数据,还有对应的fruit1.ans,fruit2.ans....fruit10.ans,10个正确的输出数据,我把我的编译好的程序fruit.exe(input:fruit.in, output:fruit.out)放进来,运行下面这个fruit.bat,就可以看到自己过了几组数据,运行时间是什么),我还不太熟悉shell,现在想在linux下实现同样的功能,请求各位帮个忙编个具有同样功能的shell脚本,本人感激不尽!
批处理:fruit.bat,下面是代码:
@echo off

if "%1"=="" goto loop

copy fruit%1.in fruit.in >nul

echo Problem Test

echo Data %1

time<enter

fruit.exe

time<enter

fc fruit.out fruit%1.ans

pause

goto end

:loop

for %%i in (1 2 3 4 5 6 7 8 9 10) do call %0 %%i

:end

del fruit.in

del fruit.out
t3swing
帖子: 1028
注册时间: 2008-11-01 21:42
来自: 树下板凳

Re: 求助!帮忙把一个win下的.bat翻译成shell脚本

#2

帖子 t3swing » 2010-01-20 8:48

这个比较新奇,用shell完成bat的任务,大才小用了 ,绑顶 ,等高人
民族的脊梁,是踏实做事的人,非只知道骂街的泼妇。
头像
yingfei
帖子: 273
注册时间: 2007-09-03 18:34
来自: 羊城通

Re: 求助!帮忙把一个win下的.bat翻译成shell脚本

#3

帖子 yingfei » 2010-01-20 10:02

代码: 全选

#!/bin/bash

if [ x"$1" != "x" ]; then
  cp fruit$1.in fruit.in 
  echo "Problem Test"
  echo "Data $1"
  date "+%F %T.%N"
  time ./fruit.exe
  date "+%F %T.%N"
  diff -y -W 80 --suppress-common-lines fruit.out fruit$1.ans
  read -n 1 tmp
else
  for i in `seq 1 10`; do $0 $i; done
fi

rm fruit.in
rm fruit.out
直接翻译的,不知能不能用,自己试着改吧。
  • Ubuntu 10.10 ~
cosechy
帖子: 82
注册时间: 2008-03-06 4:56

Re: 求助!帮忙把一个win下的.bat翻译成shell脚本

#4

帖子 cosechy » 2010-01-21 4:10

#!/bin/bash
for((i=1;i<=10;i++)); do
cp fruit$i.in fruit.in
echo Problem Test
echo Data $i
time ./fruit
diff --strip-trailing-cr fruit.out fruit$i.ans && echo Correct
read
done
rm fruit.in fruit.out

以前写过一个超过千行的脚本专门测这种东西。。支持自动找代码编译,在命令行直接输入数据等功能,可以卡时间卡内存卡输出大小判断运行时错误并返回结果,其他功能忘了
我写单点测,另外一个人写全测但是感觉写得不怎么样(没利用到我的单点测的所有功能,所以整个程序虽然发布了但是估计那东西至今只有我一个人会用)
后来那人不管了我也懒得继续写下去了
回复