基礎篇:
#!u/s+ ssh
spawn ssh -l root 10.10.10.24
# 等待響應,第一次登入往往會提示是否永久儲存 rsa 到本機的 know hosts 列表中;等到回答後,在提示輸出密碼;之後就直接提示輸入密碼
expect "(yes/no)?" "password:" "*host "
interact
# 這裡使用了 interact 命令,使執行完程式後,使用者可以在 $host 終端進行互動操作。
多使用者登入,使用shell進行呼叫
#!/usr/bin/expect -f
set ipaddress [lindex $argv 0]
set passwd [lindex $argv 1]
set timeout 30
spawn ssh root@$ipaddress
expect
"password:"
}expect "*from*"
interact
~ shell呼叫指令碼
#!/bin/bash
if [ $1 == 24 ];then
i='10.10.10.24'
j='123456'
fiif [ $1 == 17 ];then
i='10.10.10.17'
j='1qaz2wsx'
fiecho $i
echo $j
expect /home/shell/benchmark/login.exp $i $j
ssh登入指令碼 expect語言中使用awk
五一勞動節被叫過去加班,要公升級程式,有100多台的伺服器。需要先登入伺服器,再將伺服器上的程式停掉,伺服器上的程式程序是用screen建立的,ps ef 他的程序pid 然後kill掉 usr bin expect set ipaddr lindex argv 0 spawn ssh ict ip...
expect實現自動登入指令碼
寫在前面 目前在公司是一人一台虛擬機器,大多數工作都要在虛擬機器上完成,為此每天要執行很多次 ssh 指令登入虛擬機器 有很多方式解決這個問題,如使用xshell securecrt等工具記錄常用的連線,我就寫了乙個簡單的指令碼實現一鍵登入 login.sh指令碼內容如下 usr bin expec...
使用expect實現自動互動,自動登入指令碼
使用expect實現自動互動,自動登入指令碼 指令碼 如下 usr bin expect set timeout 30 spawn ssh l username 192.168.1.1 expect password send ispass r interact 1.usr bin expect 這...