Я использую скрипт ниже pexpect для входа на консольный сервер Avocent для подключения к сетевому устройству. После ввода пароля сервера требуется нажать клавишу «Enter», чтобы появилось приглашение. Чтобы добиться этого, я пробовал child.sendline()
, child.send('\n')
и child.sendcontrol ('m')
, но ни один из них не работал. Я пробовал child.send('\r')
, но работает с перебоями. Не уверен, что является причиной проблемы.
Я увидел, что когда скрипт застревает в ожидании клавиши ввода, если я вручную войду в консоль и отправлю клавишу ввода через клавиатуру, скрипт pexpect продолжится.
Вот мой фрагмент кода:
child = pexpect.spawn('ssh local@x.x.x.x', timeout=120)
child.expect('Password:', timeout=60)
child.sendline(avocentpswd)
child.send('\r')
print "enter key sent"
cli = child.expect(['cisco#' , 'cisco>'])
Использование pexpect == 4.7.0 Python 2.7.5 ОС: RHEL v7
Может кто-нибудь помочь, пожалуйста.
Я проверил поднятые проблемы, но это не помогло: pexpect и отправка "Enter Key" вопросов