Я пишу некоторые скрипты в Ruby, и мне нужно взаимодействовать с некоторым нерубивным кодом с помощью команд оболочки. Я знаю, что, по крайней мере, 6 different ways выполнения команд оболочки из Ruby, к сожалению, ни один из них, похоже, не прекращает выполнение, когда команда оболочки выходит из строя.Вызывает исключение из командной строки команды?
В принципе, я искал что-то, что делает эквивалент:
set -o errexit
... в Bash скрипт. В идеальном случае решение может вызвать исключение, когда команда не выполняется (то есть, проверяя ненулевое возвращаемое значение), возможно, с stderr в качестве сообщения. Это было бы не слишком сложно написать, но похоже, что это уже должно существовать. Есть ли вариант, который я просто не нахожу?
Да, это было то, о чем я думал, когда говорил:« Не будет слишком сложно писать », но это похоже на то, что нужно было решить уже, знаете ли? Спасибо за пример. –
Хотя, вы бы хотели «поднять», а не «бросать» –
@glenn хороший улов, исправленный. – user269044