脚本

脚本

C++ プログラムを自動的にコンパイルし、実行可能ファイルを自動的に実行するスクリプト ファイルがあります。

脚本

g++ -o bin/program main.cpp 
bin/program

問題は、コンパイラがエラーに遭遇し、実行可能ファイルが生成されないことがあり、その結果、スクリプトは古いバージョンを実行することになります。

g++ が実行可能ファイルを生成できなかったかどうかを検出し、スクリプトがファイルを実行するのを防ぐにはどうすればよいですか?

答え1

実行の終了コードはg++次のように確認できます。

g++ -o bin/program main.cpp 
if [ "$?" -eq 0 ]
then bin/program
fi

答え2

まずファイルが存在するかどうかを確認します:

test -x foo && ./foo

関連情報