XShell支持使用VB,JS,Python脚本去启动自动化任务。这里介绍如何写Xshell的Python脚本。

首先要在脚本中定义一个Main()函数,Xshell会调用这个函数,也就是程序的入口。

然后,通过官方提供的API去完成脚本的书写。

xshell官网API原文:https://netsarang.atlassian.net/wiki/spaces/ENSUP/pages/419957269/Script+API

具体的API我已经同名实现并打包,并且提供详细的中文注释,可以100%当作官方API去调用,在实际执行时,需要注释掉导入包的语句,就像下面的示例一样。

获取途径:https://github.com/AZMDDY/xshapi

在项目中,我封装了一些实际工作中会用到的接口(https://github.com/AZMDDY/xshapi/blob/main/util.py),可以直接使用。



example-1: 自动切换到root用户

# import xsh.Session
# import xsh.Screen
# import xsh.Dialogdef get_current_row_info(num: int):"""获取终端当前行num个字符"""screenRow = xsh.Screen.CurrentRowline = xsh.Screen.Get(screenRow, 1, screenRow, num)return linedef Main():# 打开一个已经存在的会话# xsh.Session.Open("ssh://user:pass_word@192.168.31.52:22")xsh.Session.Open("G:\\user\\Documents\\NetSarang Computer\\7\\Xshell\\Sessions\\192.168.31.52.xsh")xsh.Screen.Synchronous = Truexsh.Session.Sleep(1000)# 切换到root用户xsh.Screen.Send("su root\r")xsh.Session.Sleep(100)line = get_current_row_info(30)if "Password" in line:xsh.Screen.Send("paas_word\n")

example-2: 登录另一台设备

# import xsh.Session
# import xsh.Screen
# import xsh.Dialog
import redef get_current_row_info(num: int):"""获取终端当前行num个字符"""screenRow = xsh.Screen.CurrentRowline = xsh.Screen.Get(screenRow, 1, screenRow, num)return linedef Main():# 在一个存在的会话中执行xsh.Screen.Synchronous = Truexsh.Session.Sleep(1000)xsh.Screen.Send("ssh zzb@192.168.31.52\r")xsh.Session.Sleep(100)# 当第一次登录时,会验证初始ssh连接line = get_current_row_info(100)if re.search("yes/no", line):xsh.Screen.Send("yes\r")xsh.Session.Sleep(100)# 终端出现提示输入密码时,输入密码line = get_current_row_info(100)if re.search("password", line, flags=re.I):xsh.Screen.Send("pass_word\r")

Xshell 执行python脚本相关推荐

  1. xShell运行Python脚本报错 Python script error 80040154

    xShell运行Python脚本报错 Python script error 80040154 这是由于没有安装 Python engine的原因. 解决方法如下: 1. 下载并安装 Python 访 ...

  2. mac上使用crontab周期性执行python脚本

    这个月买了本书<Linux系统命令及Shell脚本实践指南>, 看到了一个周期性执行任务cron.顿时产生一个想法: mac上有这种机制么? 加上自己也在15年下半年也学了点python脚 ...

  3. 使用sae定时执行Python脚本

    使用sae定时执行Python脚本 使用sae定时执行Python脚本 12,May,2014 | 57 Views 毕设压力略大,必须是桂林游的锅.去之前放松了几天,回来又休闲了几天,加上桂林的一周 ...

  4. python运维脚本部署jdk_Jenkins自动执行Python脚本,并输出测试报告

    这段时间,在家时间自由(除了睡觉8小时,其他时间都在工作和学习),有大把的时间实操练习一些硬技能: 今天,更新一篇利用Jenkins这套框架,调用Python自动化脚本,并输出测试报告的手把手实操文章 ...

  5. python 任务计划_windows 10 设定计划任务自动执行 python 脚本的方法

    我用 python 写了一些脚本,有一些是爬虫脚本,比如爬取知乎特定话题的热门问题,有一些是定期的统计分析脚本,输出统计结果到文档中.之前我都是手动执行这些脚本,现在我希望如何这些脚本能自动定时执行. ...

  6. python能在excel运行吗-使用PyXLL在Excel中执行Python脚本

    PyXLL是一款能够使得在Excel中能够执行Python脚本的插件,不过它是使用Excel扩展库(XLL)的方式,这跟平常加载一些常用的宏方式是一样的. 使用pyXLL,首先你必须安装Python, ...

  7. contOS crontab 定时执行python脚本

    contOS crontab 定时执行python脚本 安装crontab yum install crontabs crontab语法 常用系统命令 ntsysv //查看系统开机启动项 chkco ...

  8. python脚本调度程序_Windows 任务调度程序定时执行Python脚本

    Windows 任务调度程序(Task Scheduler)可以定时执行程序,本文分享使用Task Scheduler定时执行Python脚本的两种方法. 在控制面版->管理员工具中打开 Tas ...

  9. python为运行为何出现乱码_解决执行python脚本出现乱码的问题

    解决执行python脚本出现乱码的问题 发布时间:2020-08-11 09:19:22 来源:亿速云 阅读:111 作者:小新 小编给大家分享一下解决执行python脚本出现乱码的问题,相信大部分人 ...

最新文章

  1. 退出命令_退出不褪色 离别不离志----石嘴山支队举行2019年度冬季消防员退出命令宣布大会...
  2. 详细解析ASP.NET中Request接收参数乱码原理
  3. C语言头文件为什么要加#ifndef #define #endif(防止头文件重复包含)
  4. 数据库开发——MySQL——多表查询
  5. java button不显示_这段JAVA程序怎么不显示button等控件啊
  6. windows下安装mysql教程
  7. 如何使用5个Python库管理大数据?
  8. iOS 之 UITextField
  9. 非root用户安装软件
  10. Python高性能编程指南大纲
  11. 创建linux u盘启动,创建Linux之USB启动盘
  12. C4D R18-R21
  13. 学习Web前端的心得
  14. 第十二课,assimp模型加载(数据加载篇)
  15. ubuntu下载BT种子安装qBittorrent
  16. 高通linux-多核启动以及CPU热插拔驱动
  17. P3237 [HNOI2014]米特运输
  18. 干货|Stakeholder利益相关者讲解
  19. android如何在登录界面嵌入图片,Android内嵌H5页面调用手机图片操作
  20. XR,VR,AR虚拟服务器,虚拟演播室

热门文章

  1. 安科瑞AM5SE系列微机保护装置的介绍-安科瑞 汤婉茹
  2. 这8个人人都该懂的电脑技巧,你都知道哪些?
  3. java在底图上生成二维码以及文字
  4. 活动星投票十大商业品牌网络评选微信的投票方式线上免费投票
  5. Python 中np.prod函数详解
  6. 电子科大计算机学院分数线,电子科技大学2019录取分数线是多少?四川考生多少分能上电子科大?...
  7. 深大2019计算机专业录取分数,深大2019年录取分数线超过一半以上双一流高校,“深大盒子2019探索版”神秘来袭...
  8. 微信公众账号开发项目小结(三)
  9. AR 预测模型的 Matlab 实现(超详细建模流程)
  10. Plone ZEO 与 Nginx的配置