1
我正在寫一個java代碼來連接到使用java-ganymed插件的Unix遠程服務器(也嘗試使用JSch)。通過Java與環境變量的SSH
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權限。
感謝, 阿里亞
感謝您的回覆。我試圖將這些添加到我的shell腳本的開頭。再次,有幾個未初始化的環境變量。我不確定哪些。無論如何,我會檢查哪些是我需要明確運行的,哪些運行在正常的交互式登錄上。 – AryA