Мы создаем скрипт bash для сервера сборки. Мы хотим обеспечить, чтобы при выполнении команды bash внутри скрипта она возвращалась с сигналом 0. Если это не так, мы хотим, чтобы выполнение остановилось. Наше решение до сих пор сделать:Ловля всех плохих сигналов для вызываемых команд в сценарии Bash
#some command
if [ $? -ne 0 ] ; then
#handle error
fi
после каждой команды, которая может вызвать эту проблему. Это делает код довольно длинным и не кажется очень изящным. Возможно, мы могли бы использовать функцию bash. Хотя работает с $? может быть немного сложнее, и нам все равно придется вызывать функцию после каждой команды. Есть ли способ лучше? Я просмотрел команду trap, но, похоже, обрабатывает только обработку сигналов с помощью сценария bash, который я пишу, а не любые команды, которые я вызываю.
'$?' - это код выхода. Коды выхода и сигналы не связаны. –