问题
hey i can login into telnet with "telnet localhost 4242" now i want to execute a single command "show network".
How can i do this in one line ?
something like that
$ telnet localhost 4242 <- "show network"
woa here the output i want
回答1:
I found expect to do exactly what i want, wait for a certain output and then act upon it:
expect << EOF
spawn telnet localhost 4242
expect -re ".*>"
send "show network\r"
expect -re ".*>"
send "exit\r"
EOF
回答2:
If you don't have to log in or anything, you can use a "here document" like this:
telnet localhost 4242 << EOF
show network
EOF
来源:https://stackoverflow.com/questions/5551344/let-telnet-execute-single-command-in-one-line