1
我正在使用JSch将我的java连接到远程unix服务器。下一步将是运行一个使用一些内部环境变量的shell脚本(.sh)。JSch使用Unix远程服务器环境变量
在终端上直接执行shell脚本正常工作,但通过JSch从java程序调用它并不能识别这些变量。我如何解决这个问题。对Java没有经验。发布样本代码 -
JSch jsch = new JSch();
Session session = jsch.getSession("username", "server", 22);
UserInfo ui = new SftpUserInfo();
session.setUserInfo(ui);
session.setPassword("mypass");
session.connect();
ChannelExec channelExec = (ChannelExec)session.openChannel("exec");
InputStream in = channelExec.getInputStream();
channelExec.setCommand("sh /filePath/myShellScript.sh");
channelExec.connect();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String line;
while ((line = reader.readLine()) != null)
{
System.out.println(line);
}
PS:环境变量是在用户的根文件夹(/家/用户名/)
由于设置在 “.profile文件”,
阿里亚
您是否找到解决此问题的方法? – Neron 2013-09-02 06:17:48
@Neron您是否找到解决这个问题的方法? – Mahesha999 2016-06-27 11:38:56