Obter errorlevel no script cmd chamando ssh

1

ssh -i private_linux_key user@machine "exit 1" || echo %errorlevel%

Isso sempre imprime 0 . Como posso obter o código de erro real retornado pelo ssh?

|| de alguma forma detecta que houve um erro.

    
por Roman 22.04.2013 / 17:51

1 resposta

2

Encontrei uma solução graças à seguinte pergunta: link

setlocal enabledelayedexpansion
ssh -i private_linux_key user@machine "exit 1" || echo !errorlevel!

Ou ainda mais simples

ssh -i private_linux_key user@machine "exit 1"
exit %ERRORLEVEL%

O último é possível somente quando não há mais linhas de script adicionais após exit , é claro

Para ler mais sobre as diferenças entre enabledelayedexpansion e shells do Windows / Unix: link

    
por 13.05.2013 / 16:37