Ich versuche, ein Batch-Skript zu schreiben, die als Befehlszeilenargumente zwei .cpp-Dateien, kompiliert sie und dann ihre Ausführungszeiten messen.(Standard_in) 1: Syntaxfehler in einem Bash-Skript
#!/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
Die erste .cpp ist Quellcode für einen Testgenerator. Es erzeugt eine Eingabe für das zweite Programm. Ich möchte, dass der Stapel aufhört, wenn das zweite Programm zum ersten Mal länger als 1,5 Sekunden ausgeführt wird.
Wenn ich das Skript ausführen, bekomme ich (standard_in) 1: syntax error
. Können Sie mir helfen?
Vielen Dank! Aber wie kann ich das beheben? ./__run erzeugt eine Ausgabe, die nicht im Terminal angezeigt werden soll, und keine Zeitvariable – manolismi