shell脚本中,for基于列表进行循环的实现方法
2023-09-11 14:14:16 时间
需求描述:
在写脚本中需要这么个需求,需要对一个列表中的值进行循环
比如,列表中的值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
相关文章
- abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之列表视图(七)
- yml文件配置参数定义字典和列表
- python 二维列表按行列取、降成一维列表
- python循环删除列表元素常见错误与正确方法
- 31Vue - 列表渲染(整数迭代 v-for)
- 微信小程序 - 新闻动态 / 公告上下滚动列表(上下循环滚动,无限上下自动滚动列表)
- 【python】+list列表操作(全)反转/排序/去重/截取
- Android精通:View与ViewGroup,LinearLayout线性布局,RelativeLayout相对布局,ListView列表组件
- HTML 列表、表格、媒体元素【快速掌握知识点】
- 微信小程序 自定义单选复选按钮组的实现(用于实现购物车产品列表功能)
- React 基础:循环列表
- flask+vue:创建一个数据列表并实现简单的查询功能(三)