позволить telnet выполнить одну команду в одной строке - PullRequest
14 голосов
/ 05 апреля 2011

эй, я могу войти в telnet с помощью "telnet localhost 4242", теперь я хочу выполнить одну команду "show network".

Как мне сделать это в одной строке?

вот так

$ telnet localhost 4242 <- "показать сеть" </p>

вот здесь вывод, который я хочу

Ответы [ 2 ]

18 голосов
/ 10 апреля 2011

Я обнаружил, ожидаю, что сделает именно то, что я хочу, дождусь определенного вывода и затем действую по нему:

expect << EOF
spawn telnet localhost 4242
expect -re ".*>"
send "show network\r"
expect -re ".*>"
send "exit\r"
EOF
0 голосов
/ 05 апреля 2011

Если вам не нужно входить в систему или что-либо еще, вы можете использовать «здесь документ», например:

telnet localhost 4242 << EOF
show network
EOF
...