繁体   English   中英

无法在Groovy中执行Shell脚本

[英]Unable to execute Shell Script in groovy

我试图通过使用以下代码来执行Shell脚本,但这虽然在我的远程Linux服务器上提供了Shell Script位置,但仍试图在本地系统中运行Shell Script。 我不知道为什么它会那样工作。 任何人都可以检查问题出在哪里。

import java.io.InputStream;    
import com.jcraft.jsch.ChannelSftp;    
import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
import com.jcraft.jsch.SftpException;
import com.jcraft.jsch.*
import java.io.*
import java.lang.*

JSch jsch = new JSch();

Session session = jsch.getSession("admin","192.168.2.32", 22);

session.setPassword("admin123");

java.util.Properties config = new java.util.Properties();

config.put("StrictHostKeyChecking", "no");

session.setConfig(config);

session.connect()

Channel channel = session.openChannel("exec");

channel.connect();

def command = "bash /home/Soapui_Automation/test.sh"

def process = command.execute()

def outputStream = new StringBuffer()

def errorStream = new StringBuffer()

process.consumeProcessOutput(outputStream ,errorStream)

process.waitFor()

log.info("return code: ${process.exitValue()}")

log.error("standard error: ${process.err.text}")

log.info("standard out: ${process.in.text}" + outputStream.toString())

channel.disconnect();

session.disconnect();

响应:

1月28日星期四15:00:18 IST 2016:INFO:返回码:1

1月28日星期四15:00:18 IST 2016:错误:标准错误:

1月28日星期四15:00:18 IST 2016:INFO:标准输出:

谢谢大熊猫

您正在设置频道,然后运行本地命令...

我相信您需要这样做:

import com.jcraft.jsch.*

Session session = new JSch().getSession("admin","192.168.2.32", 22)
session.password = "admin123"

Properties config = [StrictHostKeyChecking:"no"]
session.config = config
session.connect()

Channel channel = session.openChannel("exec")
channel.inputStream.withReader { input ->
    channel.command = "bash /home/Soapui_Automation/test.sh"
    channel.connect()

    println input.text
}
channel.disconnect()
session.disconnect()

(未经测试,但我认为应该通过查看做到这一点

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM