Это так просто:
true && echo ok || echo fail
false && echo ok || echo fail
Типичная команда может возвращать значение null (, поскольку true означает ), или может возвращать не null (, поскольку false означает )в зависимости от того, была ли операция выполнена успешно или не удалось.
./main_script.sh &&./report_success.sh ||./report_failure.sh
Если вам нужно было выполнить несколько команд для случаев ok или fail, используйте фигурные скобки. Нет необходимости в нескольких скриптах:
./main_script.sh && { echo ok ; echo ok2 } || { echo fail ; echo fail2 ; }
В моем случае на интерфейсах этого сервера были включены кадры Jumbo. После его отключения пакеты UDP теперь фрагментируются и все работает.
Хотя я до сих пор не понимаю, почему это затронуло только UDP-пакеты... и почему Jumbo-кадры не работали, даже когда они были включены на всех затронутых серверах и коммутаторах/маршрутизаторах.