1
我有一系列需要在遠程虛擬機上一個接一個執行的命令。我也想獲得每個執行的命令的輸出。這將通過單個JSch會話完成。我怎樣才能做到這一點?如何使用JSch連接在單個會話中運行多個命令並讀取其輸出?
我有一系列需要在遠程虛擬機上一個接一個執行的命令。我也想獲得每個執行的命令的輸出。這將通過單個JSch會話完成。我怎樣才能做到這一點?如何使用JSch連接在單個會話中運行多個命令並讀取其輸出?
要執行多個命令,只需使用適當的服務器語法即可。大多數* nix服務器使用分號或和號(具有不同的語義)。
請參閱Multiple commands using JSch。
雖然到如果想讀命令的輸出,你將有問題的區別,其中一個的輸出命令結束,以下命令的輸出開始。
然後最好在自己的「exec」通道中執行每個命令。單個SSH會話可以打開多個通道(按順序或甚至並行)。
Channel channel1 = session.openChannel("exec");
((ChannelExec)channel1).setCommand(command1);
// ...
Channel channel2 = session.openChannel("exec");
((ChannelExec)channel2).setCommand(command2);
// ...
[多個命令使用Jsch]的可能重複(http://stackoverflow.com/questions/17352764/multiple-commands-using-jsch) – gonephishing