2015-04-07 150 views
1

我正在研究一個項目,我打算創建一個連接到ssh服務器並在服務器上執行遠程命令的Java GUI應用程序。我願意使用JSch庫。我的目標是製作按鈕和文本框,這些按鈕和文本框將爲用戶提供發送命令和輕鬆獲得回覆的能力。我的意思是,不是打開xShell並提示「grep」hi「/usr/file.txt」,用戶將從列表中選擇路徑並在文本字段中輸入「hi」,並按下grep按鈕。JSch在一個會話中執行多個linux命令

問題是,我找不到解決方案在一個會話中執行多個linux命令(我不想shell如果我不能重定向它的輸入和輸出流)(我也不想要解決方案「cd .. \ n dir \ n ls -l「,它可以正常工作,但不能解決我的問題)將這些參數從相關的GUI組件中發送出去。

因爲我沒有在JSch的示例代碼做了這麼多的修改,但是,你可以在這裏看到的代碼:從現在開始http://www.jcraft.com/jsch/examples/Exec.java.html

感謝。

+0

'shell'是要走的路。 –

+0

@ScaryWombat嗨,我可以重定向shell的輸入和輸出流到我的GUI組件,然後?如果是的話,怎麼樣?從現在開始感謝。 – orhan7

+0

我不確定是否可以直接執行,但重定向到字符串,然後從字符串更新GUI很容易 –

回答

0

如果使用exec型通道可以用& &結合命令:

channel.setCommand(". ./.profile && env");