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

ssh、scp免秘钥远程执行命令:expect

时间:2017-11-27 00:00:01      阅读:312      评论:0      收藏:0      [点我收藏+]

标签:func   div   执行命令   ber   cin   ons   function   格式   lin   

 首先安装expect

# yum -y install expect

命令格式

# ./expect IP COMM    #expect是独立的工具,所以不能用sh来执行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/expect
 
set timeout -1    #超时时间默认10秒,如果你要执行一条很漫长的命令,那么这个很有必要,这里将超时时间设置为永不超时
 
set COMMADN1 [lindex $argv 0]    #传参变量,这里引用脚本后面的第一个参数
 
set COMMADN2 [lindex $argv 1]    #传参变量,这里引用脚本后面的第二个参数
 
spawn ssh -p 22 $COMMADN1 $COMMADN2    #可以将ssh变成scp命令免秘钥远程拷贝
 
expect {
 
        "yes/no" {send "yes\r";exp_continue}    #询问yes/no的时候自动输入yes
 
        "password:" {send "123456\r"}        #询问密码时自动输入定义好的密码123456
 
        }
 
expect eof

ssh、scp免秘钥远程执行命令:expect

标签:func   div   执行命令   ber   cin   ons   function   格式   lin   

原文地址:http://www.cnblogs.com/Eisenhower/p/7900907.html

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