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

Праздничный,

Вы смотрели на InstallWatch?

InstallWatch СВОБОДЕН и записывает модификации, сделанные к Вашему ПК во время установки программного обеспечения, аппаратных средств или изменений конфигурации.

Можно найти его здесь:

http://www.epsilonsquared.com

Примечание: Это не могло бы быть ТОЧНО, что Вы ищете, потому что Вы упомянули желание списка файлов, которые были "считаны" в противоположность "измененному", но это могла бы быть хорошая начальная точка для Вас.

Просто мысль я упомянул бы это.

1
задан 26 March 2010 в 23:36
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

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

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

5
ответ дан 3 December 2019 в 16:30

gcc-o нечто foo.c && отзываются эхом хорошо

:)

2
ответ дан 3 December 2019 в 16:30
  • 1
    я don' t получают доступ непосредственно к той команде, it' s обычная схема компиляции, как ./configure blah blah затем make и make install я должен знать результат каждого, что команда, имеет ли компиляция ошибку или нет –  uray 27 March 2010 в 00:00
  • 2
    I' m не очищают то, что Вы подразумеваете под " я don' t получают доступ непосредственно к этому command". Вы говорите, что эти команды в рамках другого сценария оболочки? ' & & ' обычно лучший метод, когда использование настраивает, делает, делает установку. Если существует ошибка, то команда должна распечатать ошибку и затем остановиться, и Вы будете рассматривать ошибку как последнюю вещь, распечатанную к STDERR (Который, по-видимому, печатается на Ваш экран или файл журнала). Многие люди используют точки с запятой как ' настройте; сделайте; сделайте install' но это плохо, потому что любая ошибка могла потеряться в лавинной рассылке вывода. –  Stefan Lasiewski 27 March 2010 в 01:11
  • 3
    Так it' d быть: #!/bin/bash./настраивать || (эхо настраивают отказавший; выход 1) делает || (эхо делают отказавшими; выход 1) делает установку || (эхо делают установку отказавшей; выход 1) –  mibus 31 March 2010 в 07:04
  • 4
    Er, это глотало мои новые строки. Вставьте их после "/bin/bash" и каждый ") "... –  mibus 31 March 2010 в 07:05

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

Можно использовать ту же технику, которую показал mibus.

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

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

1
ответ дан 3 December 2019 в 16:30

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

0
ответ дан 3 December 2019 в 16:30

Теги

Похожие вопросы