gpt4 book ai didi

java - 通过带有环境变量的 Java SSH

转载 作者:行者123 更新时间:2023-11-29 09:00:22 25 4
gpt4 key购买 nike

我正在编写 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 非交互式 session 加载所有环境变量。我没有远程服务器的 root 权限。

谢谢,艾莉亚

最佳答案

与其尝试运行 /etc/profile.bashrc,不如尝试将它们用作源脚本。将此作为脚本或命令的一部分执行:

. .bashrc
. /etc/profile
. /etc/environment

或任何其他相关的配置脚本(文件开头的点很重要)。

关于java - 通过带有环境变量的 Java SSH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17832184/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com