我们与服务器进行交互是该用expect 脚本的,用 “/usr/bin/expect <<-EOF” 来开启expect 脚本
用spawn 来开启一个新的进程 expect 来接受命令,send来发送交互命令 结束用 EOF来over expect脚本
废话不多说直接上脚本,注释已经很清晰了:
#!/bin/bash# 进入项目目录 将项目打包cd /home/kfh/git/JusSpiderV2.0/mvn installcd /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 30expect {"*password:" { send "*********\r"}}# 等expect 出现100% 然后进行下面的操作expect 100%expect eof ;# ssh 新开启一个spawn 登录服务器spawn ssh root@192.168.15.45expect "*password:"send "911GongGexy\r"#mv tar to yunnanexpect "*#"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 eofEOF