[英]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.