Я пытаюсь войти в коммутатор cisco и сделать там что-нибудь (например, настроить порт).Я не могу использовать exec_command(cmd1 \n cmd2 \n)
на устройствах cisco, по-видимому ... Поэтому я использую канал для отправки своих команд следующим образом:
channel = ssh.invoke_shell()
channel.send("show arp\n")
while not channel.recv_ready():
time.sleep(0.5)
out = channel.recv(9999)
Мне не нравится time.sleep(0.5)
и я хочучто-то, чтобы динамически ожидать выполнения команды, потому что иногда команды занимают даже больше 0,5 сек, и это сильно замедляет работу.С exec_command(cmd)
у меня было exit_status = channel.recv_exit_status()
например.
Есть ли способ обойти это?
РЕДАКТИРОВАТЬ:
Могу ли я как-то прослушать канал и ждатьвывод будет выглядеть как
CISCOSWITCH#
, чтобы я знал, что готов отправить больше команд или exit
?