需求描述:
在写脚本中需要这么个需求,需要对一个列表中的值进行循环
比如,列表中的值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后面使用引用变量,不要使用大括号。
文档创建时间:3月9日10:52:15
Shell脚本中的for case while循环流程控制语句的使用
shell作为一种脚本编程语言,同样包含循环.分支等其他程序控制结构,从而轻松完成更加复杂.强大的功能. 编写脚本的思路 1 明确脚本的功能 2 编写脚本时会使用到那些命令 ? 3 把变化的 ...
详解Linux交互式shell脚本中创建对话框实例教程_linux服务器
本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一下. 当你在终端环境下安装新的软件时,你可以经常看到信息 ...
在shell脚本中进行条件控制以及使用循环
转载请标明:/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 ...
shell脚本中常见的一些特殊符号和作用详解
这篇文章主要介绍了shell脚本中常见的一些特殊符号和它的作用详解,总结的很简洁,容易看懂,需要的朋友可以参考下 在编写Shell脚本时,我们需要会用到各种各样的特殊符号,通过这些特殊符号可以使我 ...
Shell脚本中的while getopts用法小结
getpots是Shell命令行参数解析工具,旨在从Shell Script的命令行当中解析参数.getopts被Shell程序用来分析位置参数,option包含需要被识别的选项字符,如果这里的字符后 ...
[转帖]Shell脚本中的break continue exit return
Shell脚本中的break continue exit return 转自:/guosj/p/4571239.html break结束并退出循环 cont ...
数组-在Shell脚本中的基本使用介绍
Shell脚本在运维工作中是极其重要的,而数组在shell脚本里的运用无论是在循环或运算方面都是非常实用的一个环节.下面是对shell脚本中数组方面一些操作在此进行记录,希望能帮助到有兴趣的朋友~1. ...
随机推荐
[.NET] C# 知识回顾 - Event 事件
C# 知识回顾 - Event 事件 [博主]反骨仔 [原文]/liqingwen/p/6060297.html 序 昨天,通过
Vue.js介绍样码
了解一下,其它的什么SASS,COMPASS,WEBPACK,VUE.JS都看看,了解一下前端开发的一些知识点吧. /p>
CF# 334 Lieges of Legendre
C. Lieges of Legendre time limit per test 2 seconds memory limit per test 256 megabytes input standa ...
python的http请求应用--每日签到
写点python吧,python其实是个很好用的工具,作为浇水语言,跟其他语言联系也很紧密,想用什么包直接import,导入ctypes调用底层函数库,导入web相关的包可以轻松写爬虫,今天我们写的跟 ...
关于C语言指针的问题
在学习关于C语言指针的时候,发现这样一个问题,代码如下: #include #include #include
Ubuntu 14.04 下手动安装Firefox的Flash插件
有时候我们不得不採用手动安装一些软件. Ubuntu 14.04 下手动安装Firefox的Flash插件有下面几步 1. 下载Flash插件 下载地址为/cn ...
C#实现测量程序运行时间及cpu使用时间
private void ShowRunTime() { TimeSpan ts1 = Process.GetCurrentProcess().TotalProcessorTime; Stopwatc ...
explorer.exe进程简单介绍
explorer.exe是Windows程序管理器或者Windows资源管理器,它用于管理Windows图形壳,包括开始菜单.任务栏.桌面和文件管理.不过也发现有大量的恶意病毒木马插入到explore ...
一个好用的hash函数(C语言)
typedef unsigned int DWORD; typedef unsigned char BYTE; /******************************************* ...