如何在shell脚本中定义数组及遍历
问题起源:脚本中定义多个监控模块,代码重复率高,仅仅模块名不同,所以思考如何精简代码?
1、如何定义数组及访问数组:
var=(1 2 3 4 5)
var=(a b c d e)
var=('1' '2' '3' '4' '5')查看变量:
${var} 或者 $var 默认取第一个查看全部值:
${var[*]} ${var[@]}结论:Shell 数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似)。与大部分编程语言类似,数组元素的下标由 0 开始。Shell 数组用括号来表示,元素用"空格"符号分割开,通用格式var=(value1 ... valuen)读取数组元素值的一般格式是:${var[index]}
2、实践案例:
二、如何循环遍历数组呢:
#!/bin/bash
# declare an array called array and define 3 vales
array=( one two three )
for i in "${array[@]}"
doecho "$i"
done
注意使用双引号,而不是单引号
如果上述中用的单引号就会报错。为什么呢?
三、单引号与双引号的区别:
1、单引号定义字符串所见即所得,即将单引号内的内容原样输出,或者描述为单引号里面看到的是什么就会输出什么。单引号是全引用,被单引号括起的内容不管是常量还是变量都不会发生替换。
2、双引号引用的内容,所见非所得。如果内容中有命令、变量等,会先把变量、命令解析出结果,然后在输出最终内容。双引号是部分引用,被双引号括起的内容常量还是常量,变量则会发生替换,替换成变量内容。
3、不使用引号定义字符串时,字符串不能包含空白字符(如Space或Tab),需要该加引号,一般连续的字符串,数字,路径等可以不加引号。如果内容中有命令、变量等,会先把变量、命令解析出结果,然后在输出最终内容。
str1="test String"
str2='test String'
str3=test Stringecho $str1
echo $str2
echo $str3
test String
test String
如何在shell脚本中定义数组及遍历相关推荐
- 如何在Shell脚本中使用if-else?
Moving ahead from our previous tutorial on arrays in shell scripts, let's understand how we can use ...
- linux脚本中如何读取文件,如何在Shell脚本中逐行读取文件
原标题:如何在Shell脚本中逐行读取文件 在这里,我们学习Shell脚本中的3种方法来逐行读取文件. 方法一.使用输入重定向 逐行读取文件的最简单方法是在while循环中使用输入重定向. 为了演示, ...
- 如何在脚本中输入密码 linux,如何在shell脚本中为用户分配密码
本篇文章给大家介绍的内容是关于如何在shell脚本中为用户分配密码,下面我们来看具体的内容. 我们先来看一下命令echo | passwd –stdin 例如: 使用以下命令更改shell脚本中用户j ...
- 【Linux】Shell脚本中如何使用“循环”遍历“数组”中的元素(包括MySQL的常用指令介绍)
一.背景 实习过程中,今天mentor突然让我拉取一下远端园区数据库中的部分信息,因为包含很多不同园区的数据信息,而且要以园区为单位生成文件来对数据进行存放,因此自然是需要使用shell脚本来自动生成 ...
- shell脚本中执行命令_如何在Shell脚本中执行命令?
shell脚本中执行命令 Shell is a command-line interpreter that allows the user to interact with the system. I ...
- 如何在 Shell 脚本中执行语法检查调试模式
我们开启了 Shell 脚本调试系列文章,先是解释了不同的调试选项,下面介绍如何启用shell调试模式. 写完脚本后,建议在运行脚本之前先检查脚本中的语法,而不是查看它们的输出以确认它们是否正常工作. ...
- linux脚本done报错,linux – 如何在shell脚本中处理错误/异常?
下面是我在bash中执行的脚本.它工作正常. fileexist=0 for i in $( ls /data/read-only/clv/daily/Finished-HADOOP_EXPORT_& ...
- shell有bool运算么_如何在shell脚本中声明和使用布尔变量?
我尝试使用以下语法在shell脚本中声明一个布尔变量:variable=$false variable=$true 它是否正确? 另外,如果我想更新该变量,我会使用相同的语法? 最后,使用布尔变量作为 ...
- linux脚本中如何调用函数,在Linux中如何在Perl脚本中调用函数(在shell脚本中定义)...
我有两个脚本,即 shell_script.sh和perl_script.pl. shell_script.sh:它有函数定义,当从Perl脚本调用时,它将以批处理模式在Linux上执行某些命令. p ...
最新文章
- Kafka:你必须要知道集群内部工作原理的一些事!
- linux访问底层,LINUX下进程打开的文件怎么和底层磁盘关联的?
- jQuery中的队列是什么?
- 由 Windows 向 Linux 迁移字体
- python标准模块os
- 算法-低位优先的字符串排序
- JAVA中获得一个月最大天数的方法(备忘)
- Silverlight 3.0 RTW引入-- 鼠标滚动事件
- Matlab--根据bar 的值,用不同的color画
- Qt5学习笔记之QString的使用
- 学习Java,可以从事哪些岗位?
- jvm:RunTimeDataArea
- POI锁定单元格的问题
- CCIE第一天---QoS
- 怎样找自己研究领域的论文
- windows下python subprocess.call使用ffmpeg的问题记录
- 开发者自己搭建IM服务器所要面临的问题
- 计算机专业简历的自我评价,计算机网络专业简历的自我评价
- python 时间戳转iso 8601_Python中的ISO时间(ISO 8601)
- 【Seagate】希捷12代盘状态忙的修复流程