shell脚本中,for基于列表进行循环的实现方法
2024-08-27 13:51:21
需求描述:
在写脚本中需要这么个需求,需要对一个列表中的值进行循环
比如,列表中的值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
最新文章
- sql 从一个库中取某个表的数据导入到另一个库中相同结构的表中
- EasyUI+MVC-搭建后台框架
- JS写的CRC16校验算法(查表法)
- 各种各样的hack。
- ncdu 磁盘目录查看工具
- 【转】启动 Eclipse 弹出“Failed to load the JNI shared library jvm.dll”错误的解决方法! .
- UVa 11235 (RMQ) Frequent values
- 1.Bloom filter
- sqlserver中的rowversion
- AES 加密
- 如何利用docker快速构建MySQL主从复制环境
- Ajax 向后台提交一个 JavaScript 对象数组?
- php逐行读取txt文件写入数组的方法
- TFTP Server的搭建和使用(Fedora)
- bzoj4310
- ubuntu14配置opencv3.4.1(转)
- mysql里max_allowed_packet的作用
- Makefile 学习记录一
- Java之可变参数方法使用说明
- 转 解决在X64 RedHat5.1 下以编译方式安装PHP 出现的种种问题
热门文章
- angular学习笔记(五)-阶乘计算实例(3)
- nginx检查报错 error while loading shared libraries: libprofiler.so.0: cannot open shared object file: No such file or directory
- Linux命令(24) :sort
- solr学习之一 搜索基本知识
- Android开发日记(一)
- js中定义属性和变量
- 纯css3实现的超炫checkbox复选框和radio单选框
- 【WPF/WAF】主界面(ShellWindow)引入别的界面布局
- JavaScrip——简单练习(抓错误信息,for循环,日期)
- Ajax-ajax实例2-根据邮政编码获取地区信息