expect 实例

[root@runstone ssh_lianxi]# cat expect.sh 
#!/usr/bin/env expect
if { $argc < 3 } {  #判断命令行参数的个数
    send_user "usage: expect expect.ssh ip user passwd\n"  #send_user 表示输出到标准输出
    exit   #退出程序
}
set timeout 5
#下面[]的意思是执行中括号里面的命令,然后把值赋值给其他变量,中括号里面的意思表示获取argv变量的第一个参数的值赋值给server。
set server [lindex $argv 0]
set user   [lindex $argv 1]
set passwd [lindex $argv 2]
spawn ssh -l $user  $server
expect {
    #-timeout 3     #在expect里面可以这样设置超时时间
    "(yes/no)?"   { send "yes\r" } 
    "password:"   { send "$passwd\r" }
    "#"   { send "vmstat\r"  }
    timeout { puts "expect was timeout by fblinux.";return } #当超时发生的时候,就激活这个timeout动作,执行后面的表达式
}
#expect    "#"   { send "vmstat\r"  }

expect eof
exit

 借鉴:https://www.cnblogs.com/liujiacai/p/9046849.html

转载于:https://www.cnblogs.com/yjt1993/p/10365451.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值