咱们与服务器进行交互是该用expect 脚本的,用 “/usr/bin/expect <<-EOF” 来开启expect 脚本java
用spawn 来开启一个新的进程 expect 来接受命令,send来发送交互命令 结束用 EOF来over expect脚本git
废话很少说直接上脚本,注释已经很清晰了:bash
#!/bin/bash # 进入项目目录 将项目打包 cd /home/kfh/git/JusSpiderV2.0/ mvn install cd /home/kfh/git/JusSpiderV2.0/target # 嵌套expect脚本与服务器进行交互 /usr/bin/expect <<-EOF # 将项目scp到服务器上 spawn scp jusspider-1.0-RELEASE.tar.gz root@192.168.15.45:~ set timeout 30 expect { "*password:" { send "*********\r"} } # 等expect 出现100% 而后进行下面的操做 expect 100% expect eof ; # ssh 新开启一个spawn 登陆服务器 spawn ssh root@192.168.15.45 expect "*password:" send "911GongGexy\r" #mv tar to yunnan expect "*#" send "mv -f jusspider-1.0-RELEASE.tar.gz /usr/java/gongshang/yunnan/\r" # 进入tar.gz所在目录 将其解压 send "cd /usr/java/gongshang/yunnan/\r" send "rm -rf jusspider-1.0-RELEASE\r" send "ls\r" send "tar zxvf jusspider-1.0-RELEASE.tar.gz\r" send "exit\r" expect eof EOF