关于expect使用ssh的问题

 spawn bash -c "ssh -t root@$argv"
expect "* (yes/no)*"
send "yes/r"
expect -timeout 1
expect "* password:*"
send "123456/r"
expect -timeout 5
send "export DATE=`date +%F-%R`/r"
expect -timeout 1
send "export IP=`ifconfig |grep /"inet addr/"|grep /"10/"|cut -d ':' -f2|cut -d ' ' -f1`/r"
expect -timeout 1
send "tar cvf /root//$IP--/$DATE.tgz /root/workspace/r"
expect -timeout 1
send "scp -r /root/*.tgz serverIP:/root/back/r"
expect "* (yes/no)*"
send "yes/r"
expect -timeout 1
expect "* password:*"
send "123456/r"
expect eof

用个笨方法

spawn  ssh -t root@$argv
expect {
"* (yes/no)*" { send "yes/r" ; set sshkey 1}
"* password:*" { send "123456/r" }
if $sshkey!=1 {
expect "* password:*"
send "123456/r" }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值