让telnet在一行中执行单个命令

时间:2011-04-05 11:52:17

标签: shell telnet

嘿,我可以使用“telnet localhost 4242”登录telnet现在我想执行一个命令“show network”。

我怎么能在一行中做到这一点?

类似的东西

$ telnet localhost 4242< - “show network”

woa这里是我想要的输出

2 个答案:

答案 0 :(得分:18)

我发现expect完全符合我的要求,等待某个输出然后对其采取行动:

expect << EOF
spawn telnet localhost 4242
expect -re ".*>"
send "show network\r"
expect -re ".*>"
send "exit\r"
EOF

答案 1 :(得分:0)

如果您不必登录或任何其他内容,您可以使用“here here”:

telnet localhost 4242 << EOF
show network
EOF