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