linux shell 嵌套expect 與服務器交互腳本

咱們與服務器進行交互是該用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
相關文章
相關標籤/搜索