使用下面的代码,我想从spawn.send("ls | grep *.dat\n");中读取InputStream。我的类实现了Spawnable和它的方法getStdout(),但是不知道如何使用它。ExpectJ文档说:getStdout() -获取一个可以读取产卵的标准输出的流。但这并没有让我走得更远。
private void expectC() throws IOException, TimeoutException, ExpectJException, InterruptedException {
ExpectJ expectJ = new ExpectJ();
Spawn spawn = expectJ.spawn("192.168.1.60", 22, "login", "pass");
spawn.send("ls | grep *.dat\n");
spawn.expectClose();
}发布于 2013-04-02 19:59:30
ExpectJ ex = new ExpectJ(5);
Spawn spawn = ex.spawn(new SshSpawn("192.168.56.101", 22, "alice", "password"));
String command = "ls | grep dat \n";
spawn.send(command);
try{
spawn.expectClose();
}catch(Exception e){}
String lsResults = spawn.getCurrentStandardOutContents().split("grep dat")[2];
String[] lsRows = lsResults.split("\r\n"); //remove the 1st and the lasthttps://stackoverflow.com/questions/15275146
复制相似问题