问题起源:脚本中定义多个监控模块,代码重复率高,仅仅模块名不同,所以思考如何精简代码?

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脚本中定义数组及遍历相关推荐

  1. 如何在Shell脚本中使用if-else?

    Moving ahead from our previous tutorial on arrays in shell scripts, let's understand how we can use ...

  2. linux脚本中如何读取文件,如何在Shell脚本中逐行读取文件

    原标题:如何在Shell脚本中逐行读取文件 在这里,我们学习Shell脚本中的3种方法来逐行读取文件. 方法一.使用输入重定向 逐行读取文件的最简单方法是在while循环中使用输入重定向. 为了演示, ...

  3. 如何在脚本中输入密码 linux,如何在shell脚本中为用户分配密码

    本篇文章给大家介绍的内容是关于如何在shell脚本中为用户分配密码,下面我们来看具体的内容. 我们先来看一下命令echo | passwd –stdin 例如: 使用以下命令更改shell脚本中用户j ...

  4. 【Linux】Shell脚本中如何使用“循环”遍历“数组”中的元素(包括MySQL的常用指令介绍)

    一.背景 实习过程中,今天mentor突然让我拉取一下远端园区数据库中的部分信息,因为包含很多不同园区的数据信息,而且要以园区为单位生成文件来对数据进行存放,因此自然是需要使用shell脚本来自动生成 ...

  5. shell脚本中执行命令_如何在Shell脚本中执行命令?

    shell脚本中执行命令 Shell is a command-line interpreter that allows the user to interact with the system. I ...

  6. 如何在 Shell 脚本中执行语法检查调试模式

    我们开启了 Shell 脚本调试系列文章,先是解释了不同的调试选项,下面介绍如何启用shell调试模式. 写完脚本后,建议在运行脚本之前先检查脚本中的语法,而不是查看它们的输出以确认它们是否正常工作. ...

  7. linux脚本done报错,linux – 如何在shell脚本中处理错误/异常?

    下面是我在bash中执行的脚本.它工作正常. fileexist=0 for i in $( ls /data/read-only/clv/daily/Finished-HADOOP_EXPORT_& ...

  8. shell有bool运算么_如何在shell脚本中声明和使用布尔变量?

    我尝试使用以下语法在shell脚本中声明一个布尔变量:variable=$false variable=$true 它是否正确? 另外,如果我想更新该变量,我会使用相同的语法? 最后,使用布尔变量作为 ...

  9. linux脚本中如何调用函数,在Linux中如何在Perl脚本中调用函数(在shell脚本中定义)...

    我有两个脚本,即 shell_script.sh和perl_script.pl. shell_script.sh:它有函数定义,当从Perl脚本调用时,它将以批处理模式在Linux上执行某些命令. p ...

最新文章

  1. Kafka:你必须要知道集群内部工作原理的一些事!
  2. linux访问底层,LINUX下进程打开的文件怎么和底层磁盘关联的?
  3. jQuery中的队列是什么?
  4. 由 Windows 向 Linux 迁移字体
  5. python标准模块os
  6. 算法-低位优先的字符串排序
  7. JAVA中获得一个月最大天数的方法(备忘)
  8. Silverlight 3.0 RTW引入-- 鼠标滚动事件
  9. Matlab--根据bar 的值,用不同的color画
  10. Qt5学习笔记之QString的使用
  11. 学习Java,可以从事哪些岗位?
  12. jvm:RunTimeDataArea
  13. POI锁定单元格的问题
  14. CCIE第一天---QoS
  15. 怎样找自己研究领域的论文
  16. windows下python subprocess.call使用ffmpeg的问题记录
  17. 开发者自己搭建IM服务器所要面临的问题
  18. 计算机专业简历的自我评价,计算机网络专业简历的自我评价
  19. python 时间戳转iso 8601_Python中的ISO时间(ISO 8601)
  20. 【Seagate】希捷12代盘状态忙的修复流程

热门文章

  1. 赋能型生态演化路径与六大竞争制高点——保险科技生态建设...
  2. 微信小程序支付 php后台
  3. 情人节送什么礼物好呢?实用又有纪念意义的礼物推荐
  4. 【数据结构之哈希表(二)】 哈希表的扩容实现机制
  5. 字节流读写文件案例——模拟文件(头像)上传功能
  6. 为了到火星,天问一号究竟有多努力?
  7. 自己动手写CPU(11)——加载存储指令说明
  8. python画空心圆图_OpenCV-Python系列之绘图功能
  9. jquery 筛选选择器 下拉菜单
  10. 如何在iPhone/iPad上录屏