From 10e662886b5599fec3f3c0f3b722a8cf15d2134e Mon Sep 17 00:00:00 2001 From: Looly Date: Wed, 10 Sep 2025 09:33:52 +0800 Subject: [PATCH] add getExitStatus check --- .../hutool/v7/extra/ssh/engine/jsch/JschSession.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/hutool-extra/src/main/java/cn/hutool/v7/extra/ssh/engine/jsch/JschSession.java b/hutool-extra/src/main/java/cn/hutool/v7/extra/ssh/engine/jsch/JschSession.java index 47c81528ea..5b971ea0c5 100644 --- a/hutool-extra/src/main/java/cn/hutool/v7/extra/ssh/engine/jsch/JschSession.java +++ b/hutool-extra/src/main/java/cn/hutool/v7/extra/ssh/engine/jsch/JschSession.java @@ -185,11 +185,17 @@ public class JschSession implements Session { channel.setInputStream(null); channel.setErrStream(errStream); + + String result; InputStream in = null; try { channel.connect(); in = channel.getInputStream(); - return IoUtil.read(in, charset); + result = IoUtil.read(in, charset); + + if(channel.getExitStatus() != 0){ + throw new SshException("Execute command [{}] error, exit status is [{}]", cmd, channel.getExitStatus()); + } } catch (final IOException e) { throw new IORuntimeException(e); } catch (final JSchException e) { @@ -200,6 +206,8 @@ public class JschSession implements Session { channel.disconnect(); } } + + return result; } /**