tcl自动保存结果expect_expect TCL编程解决shell交互问题

使用expect实现自动登录的脚本,解决ssh登录认证密码输入问题

例子:

脚本代码如下:

###############################################!/usr/bin/expect

#

#"设置超时"

set timeout 5

#"传递变量"

set warname [lindex $argv 0]

#"执行命令给变量赋值"

set a [exec sudo rpm -qa gitlab-ce]

#"spawn登录到主机"

spawn /usr/bin/ssh -p 22 -i /home/ndnnd/test test@172.18.10.160

#"匹配交互字段,输入命令或密码"

expect "*test':"

#send "yes\r"

#expect "password:"

#"发送命令\r结尾"

send "12345\r"

expect "*]$"

#"switch用法类似于case"

switch $warname {

"zabbix-2.4.1.tar.gz" {

send "sudo scp root@172.18.10.236:/root/$warname /home/test\r"

expect "*password:"

send "tl0001010\r"

interact

}

"gitlab-ce-8.0.5-ce.0.el6.x86_64.rpm" {

send "sudo scp root@172.18.10.236:/root/$warname /home/test\r"

expect "*password:"

send "tl0001010\r"

interact

}

#"退出"

"quit" {

send "exit\r"

expect eof

exit

}<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值