manipulação de erros do runuser

1

Usamos runuser em alguns de nossos scripts de implantação. Ao examinar os scripts, estou imaginando como o tratamento de erros funcionaria se algum dos comandos dentro dos erros runuser precisasse. Ao tentar resolver isso sozinho, eu não encontrei nenhum outro definitivo além de usar && como tal:

#!/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"

Alguma sugestão de como abordar melhor este problema? Dado que alguns dos comandos individuais dentro do script runuser podem ficar bastante envolvidos (ou seja, condicionais e afins), espero encontrar uma maneira mais elegante / óbvia para lidar com quaisquer erros.

Outro pensamento é fazer algo assim:

runuser -l $USER -c "echo cmd2 && ls non-existant-file && echo done" || exit 1
    
por fmpdmb 13.04.2016 / 19:36

0 respostas