Eu tenho um arquivo de script para compilar automaticamente um programa C++ e executar automaticamente o executável.
roteiro
g++ -o bin/program main.cpp
bin/program
O problema é que às vezes o compilador encontra um erro e o executável não é gerado. Portanto, o script estará executando uma versão desatualizada.
Como posso detectar se o g++ não conseguiu gerar o executável, para evitar que o script execute o arquivo?
Responder1
Você pode verificar o código de saída de execução g++
assim:
g++ -o bin/program main.cpp
if [ "$?" -eq 0 ]
then bin/program
fi
Responder2
Verifique se o arquivo existe primeiro:
test -x foo && ./foo