0
我想写一个批处理脚本,它需要两个.cpp文件作为命令行参数,编译它们然后测量它们的执行时间。(standard_in)1:在bash脚本中的语法错误
#!/bin/bash
error=0
g++ -O2 -std=c++11 $1 -o __gen
((error|=$?))
g++ -O2 -std=c++11 $2 -o __run
((error|=$?))
if (($error != 0)); then
echo 'Compilation failed'
rm __gen __run
exit 1;
fi
clear
echo 'Compilation was succesful'
time=0.0
until ((`bc <<< "$time > 1.5"`)); do
./__gen > in
time=$(/usr/bin/time -f "%e" ./__run <in> out)
done
第一个.cpp是测试生成器的源代码。它为第二个程序提供输入。我希望批处理在第一次第二次运行超过1.5秒时停止。
当我运行脚本我得到(standard_in) 1: syntax error
。 你能帮我吗?
谢谢!但我该如何解决这个问题? ./__run产生我不希望在终端中显示的输出,既不去时间变量 – manolismi