2017-01-28 18 views
0

Я попытался обработать вывод телнета в Баше и я наткнулся на этом синтаксис для отправки команд телнета на сервероболочки Linux: почему «открыто» требуется в этой команде телнета

(echo open $host $port 
sleep 1 
echo $cmd1 
sleep 1 
) | telnet 

Что я хотел бы знать, поэтому требуется команда «открыть» и почему

(echo $host $port 
... 
) | telnet 

приводит к ошибке «? Недопустимая команда».

+0

['man telnet'] (http://manpages.ubuntu.com/manpages/precise/en/man1/telnet.krb5.1.html). В принципе, вы можете либо вызывать 'telnet' с аргументами хоста и порта, либо, если вы вызываете его без аргументов, вы должны подключиться к хосту с помощью команды' open' в приглашении 'telnet>'. – AlexP

ответ

1

... потому что имя хоста не является допустимым именем команды? Существует большая разница между

$ telnet host port 

и

$ telnet 
telnet> host port 

Если последнее то, что ваша команда echo эффективно делать.

Один лайнер автоматически запускает open команду, так что в основном эквивалентно следующему:

$ telnet 
telnet> open host port 

Но я не уверен, почему вы не просто запустить telnet host port в первую очередь.

+0

О, с вашим объяснением это имеет смысл для меня сейчас. Я, должно быть, путал команду open open shell с командой telnet. Большое спасибо! – sanch3z

+0

@ sanch3z, если Марк Рид дал вам ответ, вы должны отметить его как таковой. –

 Смежные вопросы

  • Нет связанных вопросов^_^