鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > 服务器相关 > 批处理 > >

expect简单示例

来源:互联网 作者:佚名 时间:2015-11-04 09:42
无详细内容 无 #!/usr/bin/expect###################################################################################FileName: test_ssh.exp#Author: Defias#Description:#Version: 1.0#Date 2017-7-22#example:./test_ssh.exp ip user passwd##########
<无详细内容> <无>
#!/usr/bin/expect
##################################################################################
#FileName:      test_ssh.exp
#Author:        Defias
#Description:
#Version:       1.0
#Date   2017-7-22
#example:./test_ssh.exp ip  user  passwd
##################################################################################
set timeout 30

set remote_ip [lindex $argv 0]

set user [lindex $argv 1]

#set passwd "Npaswd!@#\$11"
set  passwd [lindex $argv 2]

if {$argc != 3} {
    send_user "num of arg is error!\n"
    exit
}

spawn ssh -l $user $remote_ip

expect "*password:*"

send "$passwd\n"

expect "]#"

send "touch a.txt\r"

send "ifconfig\r"

#send "exit\r"
expect "]#"
#interact
#!/usr/bin/expect
##################################################################################
#FileName:      test_scp.exp
#Author:        Defias
#Description:
#Version:       1.0
#Date   2017-7-22
#example:./test_scp.exp ip user passwd src dst
##################################################################################
set timeout 30

set remote_ip [lindex $argv 0]
set user [lindex $argv 1]
set passwd [lindex $argv 2]
set src_file [lindex $argv 3]
set dst_file [lindex $argv 4]


spawn scp $src_file $user@$remote_ip:$dst_file

expect {
    "(yes/no)?" {
        send "yes\n"
        exp_continue
    }

    "*password:" {
        send "$passwd\n"
    }
}
expect "*100%"

#send "exit\r"
expect "]#"
#interact
#!/usr/bin/expect
##################################################################################
#FileName:    test_scp.sh
#Author:    Defias
#Description:
#Version:    1.0
#Date    2017-7-22
#example:./test_scp.sh host_list aaa /home/yzh
##################################################################################
list_file=$1
src_file=$2
dst_file=$3

cat $list_file | while read line
do
  hostip = echo $line | awk '{print $1}'
  username = echo $line | awk '{print $2}'
  passwd = echo $line | awk '{print $3}'
  
  echo "$hostip"
  ./test_scp.exp $hostip $username $passwd $src_file $dst_file

done
192.168.8.1 root pass\!\@\#\$11
192.168.1.23 root pass\!\@\#\$11
192.168.8.34 root pass\!\@\#\$11
网友评论
<