我正在编写一个 java 代码来使用 java-ganymed 插件(也尝试使用 JSch)连接到 Unix 远程服务器。
Connection conn = new Connection("host");
conn.connect();
boolean testAuth = conn.authenticateWithPassword("user", "pwd");
Session sess = conn.openSession();
sess.execCommand(Commands); //"Commands" is a string variable with "sh" command.
我需要运行位于远程服务器上的 shell 脚本,该脚本使用该登录名的一些环境变量。我的登录成功,脚本执行但未完成。与运行像 Putty 等交互式登录 shell(使用“env”命令)相比,我检查了环境变量没有完全加载。
我尝试在我的脚本之前运行 /etc/profile、.bashrc 等。脚本向前移动了一步,但又停止了。因此很明显,加载了一些环境变量但不是全部。我需要解决方法以确保为 Java 非交互式会话加载所有环境变量。我没有远程服务器的 root 权限。
谢谢,艾莉亚