IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Xshell脚本学习 -> 正文阅读

[系统运维]Xshell脚本学习

什么是Xshell脚本

Xshell是常用的串口终端软件,界面比较友好,且功能强大。最近在对计算机的稳定性进行测试,需要控制机器不断的重启,具体有两种实现方式:1)在操作系统写重启的脚本,实现计算机的重启操作;2)由于机器在启动的时候,可以通过串口终端也可以控制机器重启。第一种方式需要写bash脚本,不太熟悉,所以采用第二种方式。Xshell支持运行脚本,下面先对脚本进行简单介绍。

怎么使用脚本

首先打开Xshell软件,找到工具选项卡–>脚本–>运行,此时会弹出打开需要运行的脚本文件对话框,以运行软件自带的sample为例,如下图所示。
在这里插入图片描述
在这里插入图片描述
软件自带的示例如图所示,分别session和screen两种,每种里面都有3种语言(javascript、python及vb)。
在这里插入图片描述
打开其中一个vb脚本,如下所示。

Sub Main
	xsh.Session.Open("C:\...\NetSarang\Xshell\Sessions\New Session.xsh")
	xsh.Screen.Synchronous = true
	xsh.Session.Sleep(1000)
	
	'*** WaitForString ***
	xsh.Screen.WaitForString("aaa")		' input "aaa" in Terminal
	
	'*** Send ***
	xsh.Screen.Send("cat /etc/passwd")
	xsh.Screen.Send(VbCr)
	xsh.Session.Sleep(1000)
	
	'*** Get, Clear ***
	Dim ScreenRow, ReadLine, Items
	
	ScreenRow = xsh.Screen.CurrentRow - 1
	ReadLine = xsh.Screen.Get(ScreenRow, 1, ScreenRow, 40)
	Items = Split(ReadLine, ":", -1)
	xsh.Dialog.MsgBox(Items(2))
	xsh.Screen.Clear()
	
	'*** Property ***
	xsh.Screen.Synchronous = False
	Dim MsgProp
	MsgProp = "Col:" + CStr(xsh.Screen.CurrentColumn) + ", "
	MsgProp = MsgProp + "Row:" + CStr(xsh.Screen.CurrentRow) + ", "
	MsgProp = MsgProp + "TermCol:" + CStr(xsh.Screen.Columns) + ", "
	MsgProp = MsgProp + "TermRow:" + CStr(xsh.Screen.Rows) 
	xsh.Dialog.MsgBox(MsgProp)
End Sub

脚本示例

根据以上的学习,编写自己的脚本。我的需求是当终端显示“xxxx ttyS0”字符串时,发送用户名字符串,随后回车,输入密码随后回车,输入lspci(查看系统pci设备),随后回车,输入lsusb(查看usb设备),随后回车,输入sudo reboot随后回车,输入密码,随后回车,等待下一次终端出现“xxxx ttyS0”字符串,进行下一次循环,具体代码如下

Sub Main
	xsh.Screen.Synchronous = true    '使窗口显示与当前输出同步
	while(1)

		xsh.Screen.WaitForString "xxxx ttyS0"    ' 等待目标设备发回 "xxxx ttyS0" 字符串
		xsh.Sleep 2000   ' 等待2s
		xsh.Screen.Send "xxxxxx"     ' 发送"xxxxxx" 字符串
		xsh.Screen.Send VbCr    ' 发送回车

		xsh.Sleep 2000 
		xsh.Screen.Send "123123" 
		xsh.Screen.Send VbCr
		xsh.Sleep 2000 

		
		xsh.Screen.Send "lspci" 
		xsh.Screen.Send VbCr
		xsh.Sleep 500 

		xsh.Screen.Send "lsusb" 
		xsh.Screen.Send VbCr
		xsh.Sleep 500 

		
		xsh.Screen.Send "sudo reboot" 
		xsh.Screen.Send VbCr
		xsh.Sleep 500 
		xsh.Screen.Send "123123" 
		xsh.Screen.Send VbCr
	Wend

End Sub

Xshell快捷键

屏幕和滚动缓冲区清除:Ctrl + Shift + A
清屏:Ctrl + Shift + L
滚动缓冲区清除:Ctrl + Shift + B

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-06 16:28:46  更:2022-04-06 16:29:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 21:46:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码