ssh | como lidar com erros para vários comandos

0

Oi, estou ciente de que podemos verificar o status do comando anterior por $? cenário seguinte não está funcionando para mim

ssh $USER@$HOST bash -c "'
echo "Preparing list of files to be transferred...."
rsync <something>
if [ $? -ne 0 ]; then
    echo "remote error occurred"
    exit 1
fi
echo "end"
'"
if [ $? -ne 0 ]; then
    echo "remote error occurred"
    exit 1
else
    echo "remote did not return any error"
    exit 0
fi

saída que recebo é

Preparing list of files to be transferred....
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1039) [sender=3.0.6]
end
remote did not return any error

Alguma sugestão sobre como lidar com erros no ssh para múltiplos comandos?

    
por user124704 13.02.2015 / 20:08

1 resposta

0

Acho que encontrei a resposta

rsync <something>
if [ \$? -ne 0 ]; then
    echo "remote error occurred"
    exit 1
fi

Adicionar uma barra invertida faz o truque.

    
por 13.02.2015 / 20:27

Tags