привет, я не очень хорошо владею сценарием оболочки 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
Это не перейдет к следующему шагу, если предыдущий не будет завершен успешно, и если все пойдет хорошо, будет напечатано «ОК».
Предупреждающее примечание: ПРЕДУПРЕЖДЕНИЯ, которые могут иметь значение для окончательной генерации двоичного файла, не рассматриваются как ошибки. Так что в любом случае я бы не стал полностью доверять коду выхода относительно правильности вашей компиляции / связывания. Вам все равно следует проверить вывод.