linux

Linux SecureCRT如何进行批量操作

小樊
40
2025-12-31 16:54:41
栏目: 智能运维

Linux SecureCRT批量操作实用指南

一 前置准备与连接管理

二 在同一窗口对多个标签批量执行命令

三 使用脚本自动化批量执行 VBScript 与 Python

#$language = "VBScript"
#$interface = "1.0"
crt.Screen.Synchronous = True

Sub Main
    ' 连接后等待登录提示
    crt.Screen.WaitForString "login: "
    crt.Screen.Send "username" & vbCrLf
    crt.Screen.WaitForString "Password: "
    crt.Screen.Send "password" & vbCrLf

    ' 等待命令提示符(请根据实际修改)
    crt.Screen.WaitForString "$ "

    ' 批量执行命令
    Dim cmds
    cmds = Array("hostname", "uptime", "df -h", "free -m")
    Dim i, rc
    For i = LBound(cmds) To UBound(cmds)
        crt.Screen.Send cmds(i) & vbCrLf
        rc = crt.Screen.WaitForString("$ ", 10) ' 10秒超时
        If rc <> 1 Then
            crt.Dialog.MessageBox "命令可能未成功: " & cmds(i)
        End If
    Next
End Sub
# $language = "Python"
# $interface = "1.0"

import time

def main():
    crt.Screen.Synchronous = True
    # 登录
    crt.Screen.WaitForString("login: ")
    crt.Screen.Send("username" + "\r")
    crt.Screen.WaitForString("Password: ")
    crt.Screen.Send("password" + "\r")
    crt.Screen.WaitForString("$ ")

    # 批量命令
    for cmd in ("hostname", "uptime", "df -h", "free -m"):
        crt.Screen.Send(cmd + "\r")
        time.sleep(1)  # 简单等待;生产环境建议用 WaitForString 等更稳健

四 批量创建会话与主机清单管理

五 替代方案与最佳实践

0
看了该问题的人还看了