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