shell脚本中,for基于列表进行循环的实现方法
需求描述:
在写脚本中需要这么个需求,需要对一个列表中的值进行循环
比如,列表中的值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
shell脚本中,for基于列表进行循环的实现方法的更多相关文章
- 【转】shell脚本中echo显示内容带颜色的实现方法
shell脚本中echo显示内容带颜色的实现方法 shell脚本里使用echo输出颜色
- Shell脚本中的for case while循环流程控制语句的使用
shell作为一种脚本编程语言,同样包含循环.分支等其他程序控制结构,从而轻松完成更加复杂.强大的功能. 编写脚本的思路 1 明确脚本的功能 2 编写脚本时会使用到那些命令 ? 3 把变化的 ...
- 详解Linux交互式shell脚本中创建对话框实例教程_linux服务器
本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一下. 当你在终端环境下安装新的软件时,你可以经常看到信息 ...
- shell脚本中的多行注释
shell 中注释的使用方法 1. 单行注释 单行注释最为常见,它是通过一个'#'来实现的.注意shell脚本的最开始部分"#!/bin/bash"的#号不是用来注释的. 2. 多 ...
- shell脚本中select循环语句用法
shell脚本中select循环语句 1. 脚本中select的语法格式 select VAR in LIST do command1 command2 ... ... commandN done s ...
- 在shell脚本中进行条件控制以及使用循环
转载请标明:http://www.cnblogs.com/winifred-tang94/ if条件语句语法: if [ 条件表达式 ] then 代码 else 代码 fi 注意:在上面的if条件语 ...
- shell 脚本中所有循环语法
写出 shell 脚本中所有循环语法 for 循环 : for i in $(ls);do echo item:$i done while 循环 : #!/bin/bash COUNTER=0 whi ...
- centos shell脚本编程2 if 判断 case判断 shell脚本中的循环 for while shell中的函数 break continue test 命令 第三十六节课
centos shell脚本编程2 if 判断 case判断 shell脚本中的循环 for while shell中的函数 break continue test 命令 ...
- shell脚本中常见的一些特殊符号和作用详解
这篇文章主要介绍了shell脚本中常见的一些特殊符号和它的作用详解,总结的很简洁,容易看懂,需要的朋友可以参考下 在编写Shell脚本时,我们需要会用到各种各样的特殊符号,通过这些特殊符号可以使我 ...
随机推荐
- hdoj2571 命运
命运 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...
- CSS content换行技术实现字符animation loading效果
一.之前我的字符loading实现 关于字符打点动画实现,我之前使用过box-shadow模拟,还有border+background模拟,还有使用text-shadow实现,以及今年自认为是最好的实 ...
- vue的面包屑导航组件
用来将其放到navbar中: Breadcrumb/index.vue <template> <el-breadcrumb class="app-breadcrumb&qu ...
- iPython网页启动
安装必要的软件包: pip install "ipython[all]" 启动命令:ipython notebook --inline=pylib 自动采用默认浏览器打开 ht ...
- js在一个可编辑的div光标处插入图片或者文本(兼容ie,火狐等浏览器)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- uC/OS-III 概要
本章主要对 uC/OS-III 实时操作系统做一些概要介绍,使读者对 uC/OS-III 有个整体的浅 认识,为后面的章节的详细讲解做一个铺垫. 下图是 uC/OS-III 系统从底层到上层的文件结构 ...
- 利用IT++搭建通信仿真平台
IT++ is a C++ library of mathematical, signal processing and communication classes and functions.也就是 ...
- CodeIgniter在nginx下404 not found
server { listen ; server_name test.platform; charset utf8; root /data/www/platform/trunk; location / ...
- 广度优先遍历目录(Windows平台、C++)
深度优先的遍历网上一大把,就是递归调用,这里就不说了,说点网上找不到的. #include <Windows.h> #include <stdint.h> #include & ...
- 在Linux下制作一个磁盘文件,在u-boot 阶段对emmc 烧写整个Linux系统方法
在Linux 下制作一个磁盘文件, 可以给他分区,以及存储文件,然后dd 到SD卡便可启动系统. 在u-boot 下启动后可以读取该文件,直接在u-boot 阶段就可以做烧写操作,省略了进入系统后才进 ...