обработка ошибок runuser

Мы используем runuser внутри некоторых наших сценариев развертывания. При просмотре сценариев мне интересно, как будет работать обработка ошибок, если какая-либо из команд в runuser выйдет из строя. Пытаясь решить это сам, я не придумал никаких окончательных решений, кроме как использовать && как таковую:

 #!/bin/bash -e echo "- next" # this is what we're currently doing, which appears to not handle errors runuser -l $USER -c "echo cmd2; ls non-existant-file; echo done"; echo " exit code $?" echo "- next2" # best solution I've come up with so far runuser -l $USER -c "echo cmd2 && ls non-existant-file && echo done"; echo " exit code $?" echo "- finish" 

Любые предложения по улучшению этой проблемы? Учитывая, что некоторые из отдельных команд внутри скрипта runuser могут быть довольно вовлечены (например, условные runuser и т. П.), Я надеюсь найти более элегантный / очевидный способ обработки любых ошибок.

Другая мысль – сделать что-то вроде этого:

 runuser -l $USER -c "echo cmd2 && ls non-existant-file && echo done" || exit 1 

Interesting Posts

Как точно выполнить команды grep?

Селективное отключение SPIDEV от определенных выборок микросхем

«Ошибка синтаксиса: неожиданный конец файла» при выполнении сценария bash

Могу ли я получить вчерашнюю статистику с помощью команды sar, но я установил sar сейчас

Проверьте, действительно ли консольное приложение завершено

команда не найдена с использованием sudo в скрипте

Убедитесь, что в сценарии была ошибка с одним слоем

Как я могу захватить два поля в awk из разных строк записи с несколькими строками?

Разница между initramfs.cpio и rootfs.cpio

Разница в синтаксисе команды find

Что такое пересылка ядра ip? связанный вопрос

Множественное сопоставление столбцов и настройка с помощью awk

Какая разница между общим использованием ЦП и использованием Процессного ЦП

LS_COLORS смешивает критерии соответствия, например расширение файла и hardlink

обработка правой кнопкой мыши с помощью одной кнопки мыши (планшета)

Linux и Unix - лучшая ОС в мире.