咱們與服務器進行交互是該用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