当前位置:   article > 正文

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

脚本示例

根据以上的学习,编写自己的脚本。我的需求是当终端显示“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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

Xshell快捷键

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/197272
推荐阅读
相关标签
  

闽ICP备14008679号