roteiro

roteiro

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

informação relacionada