模拟ssh登录
#!/bin/bash Ip='192.168.1.6' # 循环就行 RemoteUser='user' # 普通用户 RemotePasswd='userpasswd' # 普通用户的密码 RemoteRootPasswd='rootpasswd' /usr/bin/expect -c " set timeout -1 spawn ssh -t -p $Port -o StrictHostKeyChecking=no $RemoteUser@$Ip expect { password { send_user RemotePasswd send ${RemotePasswd} ; expect { "does not exist" { send_user "root user does not exist " exit 10 } password { send_user "user passwd error " exit 5 } Last { send "su - batch " expect { Password { send_user RemoteRootPasswd send ${RemoteRootPasswd} ; expect { "]#" { send "sh /tmp/update.sh update " expect { "]#" { send_user ${Ip}_Update_Done } eof } } } } } } } } "No route to host" { send_user "host not found " exit 4 } "Invalid argument" { send_user "incorrect parameter " exit 8 } "Connection refused" { send_user "invalid port parameters " exit 9 } "does not exist" { send_user "root user does not exist" exit 10 } timeout { send_user "connection timeout " exit 3 } eof } " state=`echo $?`