我想使用jsch调用一个远程服务器脚本。 我有一个名为的服务器脚本: RunScript-位于远程服务器的路径:/ esj / programs / sample / scripts / RunScript 我打开了一个频道并将命令称为: String command =“ksh / esj / programs / sample / scripts / RunScript”;
但我收到的错误是: / esj / programs / sample / scripts / RunScript:SplWF:找不到。
我的代码是这样的:
JSch jsch = new JSch();
Session session = jsch.getSession(user, host, 22);
Properties config = new Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.setPassword(password);
session.connect();
if(session.isConnected()){
System.out.println("Connected sucessfully to server :" + host);
Channel channel = session.openChannel("exec");
((ChannelExec)channel).setCommand(command);
// ((ChannelExec)channel).setCommand(command2);
channel.setInputStream(null);
((ChannelExec)channel).setErrStream(System.err);
RunScript看起来像: SplWF PostProc PostProcScript *******
SplWF是位于同一位置的另一个脚本(/ esj / programs / sample / scripts /)
如何成功运行脚本RunScript? 基本上,SplWF和RunScript与上面的路径相同 另外,我无法更改脚本的任何内容。我只想在不改变脚本的情况下从java程序中成功执行RunScript 注意 - *****表示脚本中存在的其他一些数据
答案 0 :(得分:0)
在 RunScript 中使用./SplWF
或sh SplWF
或将脚本目录添加到PATH环境变量中以继续使用SplWF
。