bash嵌套expect實現交換機的交互式登錄實例

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

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章