Chinaunix首页 | 论坛 | 博客
  • 博客访问: 341973
  • 博文数量: 87
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 727
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-27 15:56
个人简介

开心了, 就笑;不开心了,就过会儿再笑。。。。

文章分类

全部博文(87)

文章存档

2017年(16)

2016年(28)

2015年(33)

2014年(10)

我的朋友

分类: LINUX

2015-09-23 15:30:49

我们经常在shell脚本程序中用<<EOF重定向输入,将我们输入的命令字符串作为一个执行程序的输入,这样,我们就不需要在那个程序环境中手工输入命令,以便自动执行我们需要的功能,例如:

sqlplus emssxjk/emssxjk <<EOF  
select count(*) from sncn_yxyj where create_date like sysdate;  
EOF  


其中的SQL语句相当于在sqlplus程序环境中输入的,这样输入的内容夹在两个EOF之间,可长可短,EOF也可以换成其他任意的字符,大小写不论,只要成对出现即可,例如:


sqlplus emssxjk/emssxjk <<STD  
select count(*) from sncn_yxyj where create_date like sysdate;  
STD  

当然这个标志性字符不能用保留字,最常用的还是EOF。

需要注意的是,第一个EOF必须以重定向字符<<开始,第二个EOF必须顶格写,否则会报错。



#!/bin/bash
while read line 
do
eval $(echo $line |awk -F"[\t ]" '{print "mnode="$1";master="$2";slave="$3}')
eval $(echo $slave |awk -F":" '{print "ip="$1";port="$2}')
echo "./redis-cli -h $ip -p $port -c  cluster replicate $mnode
./redis-cli -h $ip -p $port -c  <<!     
cluster replicate $mnode             
quit
!
done <nodeList

阅读(979) | 评论(0) | 转发(0) |
0

上一篇:shell paste用法

下一篇:Redis-cluster安装部署

给主人留下些什么吧!~~