現(xiàn)在通過CommandHelper.execute方法可以執(zhí)行命令,該類實(shí)現(xiàn)
CommandHelper類使用了CommandResult對(duì)象輸出結(jié)果錯(cuò)誤信息。該類實(shí)現(xiàn)
package javaapplication3;
/**
*
* @author chenshu
*/
public class CommandResult {
public static final int EXIT_VALUE_TIMEOUT=-1;
private String output;
void setOutput(String error) {
output=error;
}
String getOutput(){
return output;
}
int exitValue;
void setExitValue(int value) {
exitValue=value;
}
int getExitValue(){
return exitValue;
}
private String error;
/**
* @return the error
*/
public String getError() {
return error;
}
/**
* @param error the error to set
*/
public void setError(String error) {
this.error = error;
}
}
現(xiàn)在看看調(diào)用代碼的演示(main函數(shù)接受一個(gè)超時(shí)參數(shù)):
結(jié)果會(huì)創(chuàng)建一個(gè)testdir目錄。
我嘗試用這種方法創(chuàng)建通過ssh登錄到遠(yuǎn)程機(jī)器,遇到兩個(gè)問題:
1)如果希望沒有人機(jī)對(duì)話方式,則需要使用命令sshpass -p password ssh user@targetIP 'command'
2) 在NetBeans上直接運(yùn)行工程是不行的,因?yàn)闄?quán)限不夠,需要在終端里運(yùn)行java javaapplication3.Main
3) 很多命令不能運(yùn)行,只有如pwd等命令可以運(yùn)行,原因還不清楚,最好改用Ganymed SSH-2庫或者其他類似Java庫,我會(huì)在下一篇文章中介紹如何使用。
新聞熱點(diǎn)
疑難解答
圖片精選