Ошибка выполнения грабли, если ошибка возврата системного вызова

У меня есть Rakefile, который я использую для автоматизации некоторых задач в моем проекте.

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

Как я могу избежать этого? Я хочу сделать rake выход, когда какой-то подпроцесс возвращает ошибку.

заранее спасибо

2 ответа

Решение

Вы можете оценить возвращаемое значение system

system('inexistent command') or exit!(1)
puts "This line is not reached"

sh это способ рейка для вызова команды. Это не удастся с аккуратным сообщением. По сравнению с system, sh распечатывает команду также.

Другие вопросы по тегам