SecureCRT脚本录制步骤
ls -l、free -m、设备登录命令等),或进行其他交互操作(如输入密码、选择菜单选项)。device_login.py),并确认文件格式(常见为.vbs(VBScript)、.py(Python)或.js(JScript),格式由SecureCRT版本或录制时设置决定)。Main()),例如Python脚本的典型头部:# $language = "python" # 指定脚本引擎为Python(需SecureCRT 6.6及以上版本支持)
# $interface = "1.0" # 接口版本
def Main(): # 主函数,脚本执行入口
crt.Screen.Synchronous = True # 同步模式(确保命令逐行执行)
crt.Screen.Send("ls -l" + chr(13)) # 发送命令(chr(13)代表回车键)
crt.Screen.WaitForString("$ ") # 等待命令提示符出现(根据实际提示符调整)
crt是SecureCRT的内置顶级对象,用于操作屏幕(Screen)、会话(Session)、参数(Arguments)等,是脚本自动化的核心。WaitForString可能包含冗余字符(如设备登录界面的装饰性文字),可修改为等待核心提示符(如root@device:~#$),提升脚本稳定性。Main()函数中添加for或while循环,例如:def Main():
crt.Screen.Synchronous = False
for i in range(5): # 循环5次
crt.Screen.Send("free -m" + chr(13))
crt.Screen.WaitForString("total") # 等待命令输出中的关键字
crt.Sleep(2000) # 暂停2秒(避免频繁请求)
crt.Arguments获取命令行传入的参数(如设备IP、用户名),使脚本适配多设备场景,例如:import sys
device_ip = crt.Arguments.GetArg(0) # 获取第一个参数(设备IP)
crt.Screen.Send(f"ssh admin@{device_ip}" + chr(13))