Я пытаюсь автоматизировать настройку приложения, выполняя SSH на машине и переходя в папку /var/packages и выполняя скрипт. Когда установка запускает набор интерактивных команд для отправки на основе ожидаемого вывода. Я нашел из Google что pexpect
может добиться этого, но я не могу добиться желаемого результата. Я пытаюсь следовать коду, может ли кто-нибудь помочь мне, как этого добиться, поскольку я новичок в python. Любая помощь будет оценена по достоинству. Настройка моего приложения будет выглядеть так
[root@bits packages]# ./SHR_setup.bin -i console
Preparing to install...
Extracting the JRE from the installer archive...
Unpacking the JRE...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...
Launching installer...
===============================================================================
Choose Locale...
----------------
1- Deutsch
->2- English
3- Español
4- Français
5- Italiano
6- Nederlands
7- Português (Brasil)
CHOOSE LOCALE BY NUMBER: 2
I accept the terms of the License Agreement (Y/N): Y
Please hit Enter to continue:
Код Python
from pexpect import pxssh
import pexpect
try:
s = pxssh.pxssh()
hostname = '10.110.40.20'
username = 'admin'
password = 'admin123'
s.login(hostname, username, password)
s.sendline('cd /var/packages') # goto /var/packages folder
child = pexpect.spawn('./SHR_setup.bin -i console') # start the application setup in packages folder
child.expect('CHOOSE LOCALE BY NUMBER') # expect output like this
child.sendline('2')
s.prompt()
print s.before
except pxssh.ExceptionPxssh, e:
print 'pxssh failed on login'
print e