expect解决ssh无法使用shell直接登录的问题

使用sshpass软件可以解决登录时不能输入密码的问题,但是却无法达到继续自动执行其他shell命令:

最后找到expect这个使用方便的东西。

 

具体列上自己使用的实例:

 

#!/usr/bin/expect -f
 set ip 135.33.16.163 
 set password admin
 set timeout 10
 spawn ssh mytest1@$ip
 expect {
 "*yes/no" { send "yes\r"; exp_continue}
 "*password:" { send "$password\r" }
 }
 expect {
"*mytest1*"
{
 send "pwd\r";
 send "cd               /data/bin \r";
 send  "exit\r";
}
}
 expect eof

 set ip2 135.33.16.164 
 set password2 admin
 set timeout2 10
 spawn ssh mytest1@$ip2
 expect {
 "*yes/no" { send "yes\r"; exp_continue}
 "*password:" { send "$password2\r" }
 }
 expect { 
"*mytest2*"
 {
 send "pwd\r";
 send "cd               /data/bin\r";
 send  "exit\r";
}
}
 expect eof

system /home/isap/subUpdate.sh


 



                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值