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

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. SpringBoot + Elasticsearch7.6实现简单查询及高亮分词查询
  2. 【论文笔记】 LSTM-BASED DEEP LEARNING MODELS FOR NONFACTOID ANSWER SELECTION
  3. iOS开发- OpenGL ES屏幕截图
  4. [小明学Shader]1.Diffuse
  5. 有哪些类目适合刚创业的新手淘宝卖家做?
  6. 卸载linux订阅包
  7. ROS☞rosbag/rostopic消息记录、回放、转.txt
  8. 小甲鱼鱼c论坛python作业_[全套55讲]鱼C论坛小甲鱼Python课后题试题.doc
  9. Matlab中值滤波去噪
  10. 开关电源和LDO的区别
  11. Oracle 官方文档在线查看Oracle函数
  12. 十大在线编程学习网站
  13. 毕业设计-基于微信小程序的电影票网购系统
  14. 语义网络,语义网,链接数据和知识图谱
  15. 【Scratch考级99图】图12-等级考试scratch绘制 正八边形
  16. android 程序中设置默认输入法
  17. “左手画圆,右手画方”
  18. 当名人的 qq 被盗以后
  19. Nginx 日志和监控 - HTTP 健康监测
  20. JavaWeb----Ajax技术

热门文章

  1. 2022年股权转让中这8个问题,你必须重视起来
  2. Canvas实现高性能的频谱瀑布图音频频谱图
  3. 适合讲给女朋友听的极品笑话
  4. script ‘D:\pycharm\Student‘ not found
  5. shell——命令排序
  6. A-Level经济真题(7)
  7. 解惑“可观测性”与“监控”的不同
  8. JAVA连接ODBC
  9. ERP编制物料清单 华夏
  10. spring容器里存取bean