私は準備ができているあらかじめ書かれた例を使ってC++コードを評価するシステムを書こうとしています。これは、次のような非常に単純なC++コードです:C++プログラムの出力を変数bashに送る
#include <iostream>
using namespace std;
int main()
{
int a;
cin >> a;
if (a > 100)
cout << "Big";
else
cout << "Small";
return 0;
}
だから私はが変数を獲得し、最終的にそれをエコー宣言は、bashでこのプログラムをテストし、グレードしたいです。ここでまた、私は(まだあなたが私の例についてはbashを使用するための簡単な方法を伝えることができればそうbashに非常に新しいです
#!/bin/bash
g++ new.cpp -o new
test1=101
test2=78
score=0
if [ "Result of executing ./new with $test1 variable as input"=="Big" ]
then
((score += 50))
fi
if [ "Result of executing ./new with $test2 variable as input"=="Small" ]
then
((score += 50))
fi
echo $score
(私は二重引用符で書いて助けを必要とどこがマークした)私が書いたものです私はそれを聞くのが大好きです。 ありがとう!
IMHO、一時ファイルを使用することが容易になるだろうが。あなたのC++プログラムは、あなたの 'bash'スクリプトが読むことができる一時ファイルに書き込む必要があります。 –
見てください:http://www.shellcheck.net/ – Cyrus
'' [$ test1変数を入力とした./newを実行した結果 "==" Big "]'は常に真です。 ./newで$ test 1変数を入力== Bigとすると空文字列になります。 ''は変な獣です。 –