码迷,mamicode.com
首页 > 系统相关 > 详细

shell 嵌套 expect之 for循环嵌套 expect实现文件远程复制

时间:2016-07-08 12:09:14      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:shell 嵌套 expect之 for循环嵌套 expect 实现 文件远程复制 linux

最近在搞zabbix,公司又新上了六台服务器。再部署zabbix客户端的时候,宝宝真是怒了。大爷的总是这么重复劳动也是不行呀。但是作为战五渣,还能有什么拌饭呢?想起来去年写过一篇expect的blog,于是来了灵感。大神请不要喷我。于是我决定玩下有点技术小难度的东西,远程自动同步。客户端软件。于是我就重温了一下expect。刚开始感觉挺难得,写了几个脚本后。感觉也就这样吧,没啥技术难度。刚写第一个脚本成功的时候激动的不要不要的。真是脸没见过世面的样子,哈哈!好记性不如写博客,于是就写了这篇blog ,就这。下面上菜。


#!/bin/bash

P="maomaochong"



for i in `echo 114`   #因为我在自己电脑上测试所以这样写,多台可以写成`seq 100 114` 表示一个范围

do

/usr/bin/expect <<-EOF

spawn scp -r /usr/local/zabbix-agent.tar.gz zgabe@192.168.1.${i}:/home/zgabe/

expect {

"yes/no" { send "yes\r" }   #\r:表示确定

}

expect {

"password:" { send "$P\r" }

}


expect "*$"  #普通用户是$,root用户是#

send "exit\r"

expect eof

EOF  #expect语句结束


done #shell的for循环结束。



再次过程中可以用 shell -n 脚本文件名 测试脚本语法是否存在错误

        shell -x 脚本名字  查看执行过程,如果脚本有报错。会直接显示出来。每一步都很详细。方便排查错误


本文出自 “沙漠骆驼” 博客,请务必保留此出处http://maomaochong.blog.51cto.com/9260445/1812453

shell 嵌套 expect之 for循环嵌套 expect实现文件远程复制

标签:shell 嵌套 expect之 for循环嵌套 expect 实现 文件远程复制 linux

原文地址:http://maomaochong.blog.51cto.com/9260445/1812453

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!