bash嵌套expect实现交换机的交互式登录实例
2016-05-10 18:27
423 查看
1. expect实现参数传递
1.1 实现
$argv 参数数组expect脚本可以接受从bash传递过来的参数。
可以使用[lindex $argv n]获得,n从0开始,分别表示第一个,第二个,第三个....参数
1.2 样例
cat telnet.exp#!/usr/bin/expect
set host [lindex $argv 0]
set passwd [lindex $argv 1]
set passwden [lindex $argv 2]
spawn telnet $host
expect "Password:"
send "$passwd\r"
send "en\r"
send "$passwden\r"
interact
2. bash嵌套expect
2.1 我想这样使用的原因?
我在登录交换机时,需要交互式登录,需要给控制台发送命令并输出执行结果;如果只用expect的话,脚本内含有IP,密码等敏感信息,除设置脚本权限为700外,我没有实现给expect加密;
所以间接的方法是用bash执行expect脚本,然后用shc给bash加密。
2.2 样例
vim telnet.sh#!/bin/bash
expect telnet.exp 192.168.x.x 123123456
2.3 shc加密
shc -r -f telnet.sh相关文章推荐
- shell脚本加密工具
- 生成树状结构的脚本bat\python\shell
- shell新增用户
- spark shell编程基础知识
- Shell数组例子
- shell脚本显示颜色的设置
- linux基础之shell编程(4)-for循环和case语句
- shell浅谈之一变量和引用
- c bash 代码遍历文件夹下所有文件
- shell变量
- shell if语句
- Xshell 连接 Ubuntu虚拟机
- Bash循环与分支浅谈
- 用PHP执行shell命令
- Shell脚本 curl获取必应每日壁纸(Mac OS)
- Shell之实现多线程
- 常用shell命令
- shell 生成数组
- shell教程-002:常见的Shell种类
- shell教程-001:shell简介 什么是shell,shell命令的两种执行方式