Результат компиляции GCC из скрипта Bash

Привет, я не очень хорошо разбираюсь в сценарии оболочки bash, я делаю некоторую компиляцию с использованием gcc, которая выполняется сценарием bash. Как я могу узнать (проверить), была ли компиляция успешной или нет? любой пример?

4 ответа

Решение

Поскольку вы делаете это в скрипте, вы можете альтернативно проверить код завершения команд при запуске с $? переменная.

Вы могли бы сделать что-то вроде:

./configure
if [ $? -ne 0 ]
then
    echo Configure failed
    exit 1
fi

make
if [ $? -ne 0 ]
then
    echo make failed
    exit 1
fi

make install 
if [ $? -ne 0 ]
then 
   echo make install failed
   exit 1
fi 

echo All steps Succeeded

Лично я склонен быть более многословным и использовать более длинные формы в сценариях, потому что вы никогда не знаете, кто будет поддерживать его в будущем.

Если бы это был однократный запуск командной строки, я бы использовал метод, который Деннис и Мибус уже упоминали

Gcc -o foo foo.c && echo ОК

:)

В вашем вопросе говорилось "компиляция с использованием gcc", но я вижу в вашем комментарии, что вы на самом деле используете configure а также make, Это должно было быть указано в вашем вопросе.

Вы можете использовать ту же технику, что и Mibus.

./configure foo && make && make install && echo OK

Это не будет переходить к следующему шагу, если предыдущий не завершен успешно, и если все пойдет хорошо, будет напечатано "ОК".

Предупреждение: предупреждения, которые могут иметь значение для окончательной двоичной генерации, не рассматриваются как ошибки. Так что в любом случае я бы не стал полностью доверять коду завершения относительно правильности вашей компиляции / компоновки. Вы все еще должны проверить вывод.

Другие вопросы по тегам