
У меня есть файл скрипта для автоматической компиляции программы на 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