linux shell 嵌套expect 与服务器交互脚本
linux shell 嵌套expect 与服务器交互脚本
KongFanhao 发表于1年前
linux shell 嵌套expect 与服务器交互脚本
  • 发表于 1年前
  • 阅读 72
  • 收藏 2
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: 本地 scp 文件到服务器上 然后在服务器上进行解压等一些操作

我们与服务器进行交互是该用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

 

 

共有 人打赏支持
粉丝 5
博文 75
码字总数 42265
×
KongFanhao
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: