我试图通过执行SSH到机器和goto/var/packages文件夹并执行脚本来自动设置应用程序。安装启动一组交互式命令根据预期的输出发送。我从谷歌发现,pexpect
可以实现这一点,但我无法实现我希望的结果。我想下面的代码,有人可以指导我如何实现这一点,因为我是初学者python.Any帮助将不胜感激。我的应用程序的设置是这样的如何使用Python pexpect模块自动化shell交互命令
[[email protected] 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
@J H谢谢你的回答,我会试试看。当使用'pexpect.spawn('/ var/packages/SHR_setup.bin -i console')'时,出现以下错误。 'pexpect.ExceptionPexpect:该命令未找到或不可执行:/var/packages/SHR_setup.bin -i console'。你能帮我解决我在做什么错误吗? – Madhu