在调用 ssh 的 cmd 脚本中获取错误级别

在调用 ssh 的 cmd 脚本中获取错误级别

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

这总是打印0。如何获取 ssh 返回的实际错误代码?

||以某种方式检测到有错误。

答案1

我已经找到了解决方案,这要感谢以下问题:https://stackoverflow.com/questions/11554324/batch-file-errorlevel-issue

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

或者更简单

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

exit当然,后者只有在没有更多附加脚本行的情况下才有可能

要了解有关enabledelayedexpansionWindows/Unix Shell 差异的更多信息:http://blogs.msdn.com/b/oldnewthing/archive/2006/08/23/714650.aspx

相关内容