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脚本时,我们需要会用到各种各样的特殊符号,通过这些特殊符号可以使我 ...
随机推荐
- centos7搭建python3并和python2共存
注意事项:1.非root帐号加上sudo2.centos7自带Python 2.7.5是不能卸载的,很多系统级软件依赖这个 安装依赖# yum -y groupinstall "Develo ...
- dp之混合背包poj1742(推荐)
题意:给你价值为a1,a2.....的货币,每种有c1,c2.......个,求这些货币所能组成的价值小于等于m有多少个..... 思路:很像一道多重背包题?那我一开始的确是用多重背包的思路编写的.. ...
- AES加解密JS和php互相处理字符
Reference: http://blog.csdn.net/carlos__z/article/details/53185082 JavaScript code? 1 2 3 4 5 6 7 8 ...
- php ldap添加与修改
/** * ldap 备份 * @param int $cardid * @param string $username * @param string $password 未加密密码 * @retu ...
- js弹出window.open窗口
<html> <head> <SCRIPT LANGUAGE="JavaScript"> function openwin() {OpenWin ...
- 【C#/WPF】保存BitmapImage数据到文件中
参考: http://stackoverflow.com/questions/35804375/how-do-i-save-a-bitmapimage-from-memory-into-a-file- ...
- tomcat http协议与ajp协议
AJP13是定向包协议.因为性能原因,使用二进制格式来传输可读性文本.WEB服务器通过 TCP连接和SERVLET容器连接.为了减少进程生成 socket的花费,WEB服务器和SERVLET容器之间尝 ...
- W/MessageQueue: Handler (android.os.Handler) {4241f8f8} sending message to a Handler on a dead thread
缩略信息是: sending message to a Handler on a dead thread 我是用IntentService时报的 稍微纤细一点儿的信息是: Handler (andro ...
- C语言 static静态变量
静态变量类型说明符是static. 静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在 静态存储区内分配存储单元),该区域中的数据在整个程序的运行期间一直占用这些存储空间(在程序整个运行期间 ...
- Linux如何通过命令查看日志文件的某几行(中间几行或最后几行)
linux 如何显示一个文件的某几行(中间几行) [一]从第3000行开始,显示1000行.即显示3000~3999行 cat filename | tail -n +3000 | head -n 1 ...