Linux SecureCRT自定义脚本实现指南
创建本地脚本文件
使用本地文本编辑器(如vim、nano、Notepad++)编写脚本,例如my_script.sh,内容示例如下:
#!/bin/bash
echo "脚本开始执行..."
ls -l /tmp # 示例命令:列出/tmp目录内容
df -h # 示例命令:查看磁盘空间
echo "脚本执行完成!"
保存后,赋予脚本可执行权限:
chmod +x my_script.sh
上传脚本到远程服务器
通过SecureCRT的SFTP功能传输脚本:在会话窗口右键选择SFTP > 上传,选中本地脚本文件,指定服务器目标路径(如/home/username/scripts/),完成上传。
打开会话选项设置
启动SecureCRT并连接到目标服务器,点击菜单栏选项 > 配置 > 默认会话(或选中现有会话后点击配置)。
配置登录后自动执行
/home/username/scripts/my_script.sh)。验证自动执行
双击配置好的会话连接服务器,SecureCRT会在登录完成后自动执行脚本,命令输出会显示在终端窗口中。
若需处理密码输入、菜单选择等交互操作,可使用Expect脚本(需服务器安装Expect工具):
安装Expect
在服务器上执行以下命令安装:
sudo apt-get install expectsudo yum install expect编写Expect脚本
创建auto_login.exp,内容示例如下:
#!/usr/bin/expect -f
set timeout -1
set host [lindex $argv 0]
set user [lindex $argv 1]
set password [lindex $argv 2]
spawn ssh $user@$host
expect "password:"
send "$password\r"
interact # 保持交互状态
赋予执行权限:chmod +x auto_login.exp
SecureCRT中配置Expect脚本
在会话选项的启动命令中,输入Expect脚本路径及参数(如/home/username/scripts/auto_login.exp server_ip username password),保存后连接即可自动完成登录。
查看脚本输出
若脚本未执行,可通过SecureCRT的日志功能查看详细信息:点击选项 > 日志 > 开始日志记录,选择日志文件保存路径,重新连接服务器即可查看脚本执行日志。
调试脚本
set -x(Bash)或exp_internal 1(Expect)开启调试模式,输出详细执行步骤。echo或puts命令输出中间变量值,定位问题位置。ssh-keygen生成密钥对,将公钥上传至服务器~/.ssh/authorized_keys)。#!/bin/bash用于Bash,#!/bin/sh用于Dash)。