Как обработать исключение тайм-аута для скрипта, запускаемого с тайм-аутом? - PullRequest
0 голосов
/ 26 февраля 2020

Я запускаю команду. В случае сбоя часть после || будет выполнена. Это также будет выполнено в случае тайм-аута.

$ timeout 5 script.sh || { echo "Would execute if timeout or script failure"; }

Как можно обработать ошибку тайм-аута и ошибку скрипта отдельно?

$ timeout 5 script.sh ??? { echo "Timeout is fine, but this is printed only if script.sh returns an error"; }

1 Ответ

1 голос
/ 26 февраля 2020

Огуз правильный. Вам необходимо проверить код завершения команды timeout. Если вы можете просмотреть скрипт. sh, чтобы убедиться, что он не возвращает код завершения 124, вы можете помочь снизить риск, определенный Огузом.

Итак, я считаю, что код будет выглядеть так:

$ timeout 5 script.sh || [ $? -eq 124 ] || { echo "Timeout is fine, but this is printed only if script.sh returns an error"; }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...