2014-09-26 165 views
0

有一個簡單的Groovy腳本如下(非常格式化):使用expect.Expect對Groovy到特定端口上的SSH連接

import com.santaba.agent.groovyapi.expect.Expect 
def hostname = hostProps.get("system.hostname") 

cli = Expect.open(hostname, "user", "pass") 
cli.expect("*** Welcome to pfSense ") 
cli.send("8\n") 

cli.expect("root(1): ") 
cli.send("relayctl show hosts\n") 
cli.expect("root(2): ") 

cli.before().eachLine { line -> 
    if (line =~ /host/) { 
     tokens = line.split(/\s+/) 
     println tokens[5] 
    } 
} 
cli.send("exit\n") 
cli.close() 

什麼我不能做的就是在港口通過我想例如:8331.

是否有可能實現此目的?謝謝!

回答

1

看起來你可以在端口號發送爲.open調用的一部分:

cli = Expect.open(hostname, 8331, 5)//port 8331, 5 connection retries 

應該能夠身影從邏輯命令的其餘監測docs

相關問題