Назад | Перейти на главную страницу

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

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

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

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

./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

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

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

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

:)

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

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

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

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

Предупреждающее примечание: ПРЕДУПРЕЖДЕНИЯ, которые могут иметь значение для окончательной генерации двоичного файла, не рассматриваются как ошибки. Так что в любом случае я бы не стал полностью доверять коду выхода относительно правильности вашей компиляции / связывания. Вам все равно следует проверить вывод.