首页 新闻 会员 周边 捐助

为什么通过JAVA连接Linux,无法使用Linux的环境变量?

0
[已解决问题] 解决于 2021-09-04 00:54

例如我通过ganymed-ssh2-262.jar连接Linux.

想执行一个java -version命令.

如果使用

Session sess = connection.openSession();
sess.requestPTY("bash"); sess.startShell();
PrintWriter out = new PrintWriter(session.getStdin());
out.println(cmd);

就可以正常执行.

但是如果使用

Session sess = connection.openSession();
sess.execCommand(cmd);

就无法执行java -version命令,只能执行类似 ls 这类的命令.

在网上查阅资料,说是无法使用Linux的环境变量导致.

那迎来了另外一个问题,为什么无法使用Linux的环境变量?

renguanyu的主页 renguanyu | 小虾三级 | 园豆:841
提问于:2019-12-19 13:24
< >
分享
最佳答案
0

因为环境变量是shell给配置的

奖励园豆:5
jakio6 | 小虾三级 |园豆:1325 | 2019-12-21 23:52

 有啥办法解决吗

renguanyu | 园豆:841 (小虾三级) | 2021-02-04 11:32

可以解决
1、在linux上创建一个sh文件
2、sh文件中上来先执行 source .bash_profile
3、执行ll,可以正常执行

renguanyu | 园豆:841 (小虾三级) | 2021-09-04 00:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册