Xshell 执行python脚本
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脚本相关推荐
- xShell运行Python脚本报错 Python script error 80040154
xShell运行Python脚本报错 Python script error 80040154 这是由于没有安装 Python engine的原因. 解决方法如下: 1. 下载并安装 Python 访 ...
- mac上使用crontab周期性执行python脚本
这个月买了本书<Linux系统命令及Shell脚本实践指南>, 看到了一个周期性执行任务cron.顿时产生一个想法: mac上有这种机制么? 加上自己也在15年下半年也学了点python脚 ...
- 使用sae定时执行Python脚本
使用sae定时执行Python脚本 使用sae定时执行Python脚本 12,May,2014 | 57 Views 毕设压力略大,必须是桂林游的锅.去之前放松了几天,回来又休闲了几天,加上桂林的一周 ...
- python运维脚本部署jdk_Jenkins自动执行Python脚本,并输出测试报告
这段时间,在家时间自由(除了睡觉8小时,其他时间都在工作和学习),有大把的时间实操练习一些硬技能: 今天,更新一篇利用Jenkins这套框架,调用Python自动化脚本,并输出测试报告的手把手实操文章 ...
- python 任务计划_windows 10 设定计划任务自动执行 python 脚本的方法
我用 python 写了一些脚本,有一些是爬虫脚本,比如爬取知乎特定话题的热门问题,有一些是定期的统计分析脚本,输出统计结果到文档中.之前我都是手动执行这些脚本,现在我希望如何这些脚本能自动定时执行. ...
- python能在excel运行吗-使用PyXLL在Excel中执行Python脚本
PyXLL是一款能够使得在Excel中能够执行Python脚本的插件,不过它是使用Excel扩展库(XLL)的方式,这跟平常加载一些常用的宏方式是一样的. 使用pyXLL,首先你必须安装Python, ...
- contOS crontab 定时执行python脚本
contOS crontab 定时执行python脚本 安装crontab yum install crontabs crontab语法 常用系统命令 ntsysv //查看系统开机启动项 chkco ...
- python脚本调度程序_Windows 任务调度程序定时执行Python脚本
Windows 任务调度程序(Task Scheduler)可以定时执行程序,本文分享使用Task Scheduler定时执行Python脚本的两种方法. 在控制面版->管理员工具中打开 Tas ...
- python为运行为何出现乱码_解决执行python脚本出现乱码的问题
解决执行python脚本出现乱码的问题 发布时间:2020-08-11 09:19:22 来源:亿速云 阅读:111 作者:小新 小编给大家分享一下解决执行python脚本出现乱码的问题,相信大部分人 ...
最新文章
- 退出命令_退出不褪色 离别不离志----石嘴山支队举行2019年度冬季消防员退出命令宣布大会...
- 详细解析ASP.NET中Request接收参数乱码原理
- C语言头文件为什么要加#ifndef #define #endif(防止头文件重复包含)
- 数据库开发——MySQL——多表查询
- java button不显示_这段JAVA程序怎么不显示button等控件啊
- windows下安装mysql教程
- 如何使用5个Python库管理大数据?
- iOS 之 UITextField
- 非root用户安装软件
- Python高性能编程指南大纲
- 创建linux u盘启动,创建Linux之USB启动盘
- C4D R18-R21
- 学习Web前端的心得
- 第十二课,assimp模型加载(数据加载篇)
- ubuntu下载BT种子安装qBittorrent
- 高通linux-多核启动以及CPU热插拔驱动
- P3237 [HNOI2014]米特运输
- 干货|Stakeholder利益相关者讲解
- android如何在登录界面嵌入图片,Android内嵌H5页面调用手机图片操作
- XR,VR,AR虚拟服务器,虚拟演播室
热门文章
- 安科瑞AM5SE系列微机保护装置的介绍-安科瑞 汤婉茹
- 这8个人人都该懂的电脑技巧,你都知道哪些?
- java在底图上生成二维码以及文字
- 活动星投票十大商业品牌网络评选微信的投票方式线上免费投票
- Python 中np.prod函数详解
- 电子科大计算机学院分数线,电子科技大学2019录取分数线是多少?四川考生多少分能上电子科大?...
- 深大2019计算机专业录取分数,深大2019年录取分数线超过一半以上双一流高校,“深大盒子2019探索版”神秘来袭...
- 微信公众账号开发项目小结(三)
- AR 预测模型的 Matlab 实现(超详细建模流程)
- Plone ZEO 与 Nginx的配置