2019独角兽企业重金招聘Python工程师标准>>>
我们与服务器进行交互是该用expect 脚本的,用 “/usr/bin/expect <<-EOF” 来开启expect 脚本
用spawn 来开启一个新的进程 expect 来接受命令,send来发送交互命令 结束用 EOF来over expect脚本
废话不多说直接上脚本,注释已经很清晰了:
#!/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