需求描述:

  在写脚本中需要这么个需求,需要对一个列表中的值进行循环

  比如,列表中的值mysqld,zookeeper,hbase

  简单来说,for基于列表值的循环。

脚本测试过程

1.测试脚本

#!/bin/bash

for i in {mysql,zookeeper,hbase}
do
echo $i
done

或者

#!/bin/bash

for i in mysql zookeeper hbase
do
echo $i
done

2.脚本执行结果

[root@redhat6 ~]# ./ts.sh
mysql
zookeeper
hbase
说明:for循环中{}大括号中,列出了所有需要循环的值,每个值之间用逗号隔开。

3.大括号中如果使用空格隔开,则是下面的执行结果

[root@redhat6 ~]# ./ts.sh
{mysql
zookeeper
hbase}
4.将所有的需要循环的列表的值赋给一个变量,然后通过for循环展示

ps_name='mysql zookeeper hbase'

for i in $ps_name  #此处就不使用大括号了。
do
echo $i
done

5.再次执行修改的脚本

[root@redhat6 ~]# ./ts.sh
mysql
zookeeper
hbase

备注:执行也能达到同样的效果,不过此时,in后面不需要使用大括号了,同时将多个值赋给一个变量的时候,中间用空格分开。

6.如果在in后面仍旧使用大括号,执行结果

#!/bin/bash

ps_name='mysql zookeeper hbase'

for i in {$ps_name}
do
echo $i
done

[root@redhat6 ~]# ./ts.sh
{mysql     #执行结果多输出了{
zookeeper
hbase}  #执行结果多输出}
备注:所以,使用这种方式时,不要使用大括号。

小结

  for列表即in后面,本该就是多个值之间用空格隔开这种情况,如果要用大括号

  那么,各个值被括起来,中间用逗号隔开,in后面使用引用变量,不要使用大括号。

文档创建时间:2018年3月9日10:52:15

最新文章

  1. sql 从一个库中取某个表的数据导入到另一个库中相同结构的表中
  2. EasyUI+MVC-搭建后台框架
  3. JS写的CRC16校验算法(查表法)
  4. 各种各样的hack。
  5. ncdu 磁盘目录查看工具
  6. 【转】启动 Eclipse 弹出“Failed to load the JNI shared library jvm.dll”错误的解决方法! .
  7. UVa 11235 (RMQ) Frequent values
  8. 1.Bloom filter
  9. sqlserver中的rowversion
  10. AES 加密
  11. 如何利用docker快速构建MySQL主从复制环境
  12. Ajax 向后台提交一个 JavaScript 对象数组?
  13. php逐行读取txt文件写入数组的方法
  14. TFTP Server的搭建和使用(Fedora)
  15. bzoj4310
  16. ubuntu14配置opencv3.4.1(转)
  17. mysql里max_allowed_packet的作用
  18. Makefile 学习记录一
  19. Java之可变参数方法使用说明
  20. 转 解决在X64 RedHat5.1 下以编译方式安装PHP 出现的种种问题

热门文章

  1. angular学习笔记(五)-阶乘计算实例(3)
  2. nginx检查报错 error while loading shared libraries: libprofiler.so.0: cannot open shared object file: No such file or directory
  3. Linux命令(24) :sort
  4. solr学习之一 搜索基本知识
  5. Android开发日记(一)
  6. js中定义属性和变量
  7. 纯css3实现的超炫checkbox复选框和radio单选框
  8. 【WPF/WAF】主界面(ShellWindow)引入别的界面布局
  9. JavaScrip——简单练习(抓错误信息,for循环,日期)
  10. Ajax-ajax实例2-根据邮政编码获取地区信息