Проверка возвращаемого значения программы C в сценарии удара?

У меня есть сценарий удара, в который я проверяю код выхода последней команды выполнения при помощи $? переменная, но теперь я выполняю программу C (из того сценария), который возвращается 0, если программа выполнена успешно. Есть ли какой-либо способ, от которого я могу поймать это возвращаемое значение программы C с в моем сценарии удара?

Я полагаю, что различные команды как awk, sed и т.д. записаны в C. Как они используют $? сохранить их коды выхода в нем? Как я могу сделать свою программу C для хранения ее кода выхода в $??

Я надеюсь, что мой вопрос ясен.

5
задан Paused until further notice. 22 February 2010 в 13:15
поделиться

3 ответа

Нет необходимости делать что-либо - если ваша программа на C вернет 0, это то, что будет сохранено в переменной $? оболочка, которая его выполнила.

12
ответ дан 18 December 2019 в 13:13
поделиться

Код возврата программы на языке Си - это значение, возвращаемое функцией int main() или аргумент функции exit(). Затем система делает его доступным для родительского процесса через системный вызов wait(). Если родительским процессом является bash, это значение становится доступным через переменную $?.

1
ответ дан 18 December 2019 в 13:13
поделиться

bash автоматически перехватывает код выхода в $? . Или вы можете просто использовать команду из if , если вас интересует только ноль / ненулевое значение.

1
ответ дан 18 December 2019 в 13:13
поделиться
Другие вопросы по тегам:

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