pexpect模块
自动交互式模块
vim test.py
#!/usr/bin/python3
import pexpect
ssh = pexpect.spawn('ssh 192.168.132.121')
res = ssh.expect(['password','(yes/no)',pexpect.EOF,pexpect.TIMEOUT],timeout=10)
print(res)
if res == 0:
ssh.sendline('2430')
ssh.expect('#')
ssh.sendline('ifconfig')
elif res == 1:
ssh.sendline('yes')
ssh.expect('password')
ssh.sendline('2430')
ssh.expect('#')
ssh.sendline('ip a')
elif res == 2:
print('error')
else:
print('time out')
ssh.interact()
执行文件:
方法1:
python3 test.py
方法2:
chmod 777 test.py
./test.py(test.py在当前目录下)
注意:
² pexpect.spawn:当前主机输入命令
² ssh.expect:对命令的输出作内容匹配,会返回一个索引值,print可显示。
² ssh.sendline:交互界面输入命令或登录后输入命令并回车,ssh.send不会自动回车
² ssh.interact():登录到输入交互信息后的界面,可以看到命令的输出结果。执行上面文件,如果不加ssh.interact(),那么将看不到ifconfig的输出信息。