码迷,mamicode.com
首页 > 其他好文 > 详细

bash嵌套expect实现交换机的交互式登录实例

时间:2016-05-10 23:57:21      阅读:678      评论:0      收藏:0      [点我收藏+]

标签:expect   交换机   shell加密   

1. expect实现参数传递

1.1 实现

$argv 参数数组

expect脚本可以接受从bash传递过来的参数。

可以使用[lindex $argv n]获得,n0开始,分别表示第一个,第二个,第三个....参数

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脚本,然后用shcbash加密。

2.2 样例

vim telnet.sh

#!/bin/bash

expect telnet.exp 192.168.x.x 123123456

2.3 shc加密

shc -r -f telnet.sh

 


bash嵌套expect实现交换机的交互式登录实例

标签:expect   交换机   shell加密   

原文地址:http://supan.blog.51cto.com/7405859/1771912

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!