打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python Expect模块
Python中有一个pExpect 模块,和TCL中的expect命令差不多,通过expect可以使你的脚本和shell命令之间进行交互。

下面python脚本,使用了expect与ssh和scp交互来完成任务。
  1.    1. #!/usr/bin/python  
  2.    2.   
  3.    3. import pexpect  
  4.    4. import sys  
  5.    5. import time  
  6.    6. import os  
  7.    7.   
  8.    8. now = time.strftime("%m%d%y_%I%M%S%p", time.localtime())  
  9.    9.   
  10.   10. if sys.argv[1] == '-c':  
  11.   11.     foo = pexpect.spawn('scp -r %s user@address.org:/home/user/' % sys.argv[2])  
  12.   12.     foo.expect('.ssword:*')  
  13.   13.     foo.sendline('password')  
  14.   14.     foo.interact()  
  15.   15.   
  16.   16. elif sys.argv[1] == '-b':  
  17.   17.     os.mkdir("/home/user/BKUP/foo.com%s" % now, 0700)  
  18.   18.     foo = pexpect.spawn('scp -r user@foo.org:/RemoteBox/user/%s /LocalBox/user/Bup/foo%s/' % (sys.argv[2], TimeStamp))  
  19.   19.     foo.expect('.*ssword:')  
  20.   20.     foo.sendline('Passwd_to_server')  
  21.   21.     foo.interact()  
  22.   22. elif sys.argv[1] == '-p':  
  23.   23.     foo = pexpect.spawn('ssh foo@bar.com')  
  24.   24.     foo.expect('.*')  
  25.   25.     foo.sendline('password')  
  26.   26.     foo.interact()  
  27.   27. else:  
  28.   28.     foo = pexpect.spawn('ssh default@default.org')  
  29.   29.     foo.expect('.*ssword:')  
  30.   30.     foo.sendline('password')  
  31.   31.     foo.interact()  
复制代码
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
打造自己的弱口令扫描器
利用pexpect模拟ssh连接
SSH使用expect自动输入密码、命令实现非交互式密码授权
Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例
python编写shell脚本详细讲解
getopt在Python中的使用(转)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服