广告
返回顶部
首页 > 资讯 > 精选 >shell中怎么遍历数组
  • 258
分享到

shell中怎么遍历数组

2023-06-09 12:06:49 258人浏览 薄情痞子
摘要

小编给大家分享一下shell中怎么遍历数组,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!背景某天遇到一个问题,现象如下:第一种遍历正常打印元素,然而第二种遍历只会

小编给大家分享一下shell中怎么遍历数组,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

背景

某天遇到一个问题,现象如下:第一种遍历正常打印元素,然而第二种遍历只会打印一个元素!

#!/bin/bash# $1 代表文件目录# 执行 eg:#  sh your_shell.sh /user/lib/ echo "开始时间:`date '+%Y-%m-%d %H:%M:%S'`"# 1、获取所有的 filefiles=`ls $1` # 2、定义 1个数组变量declare -a array_files01  # 数组 index 初始化为 0m1=0  # 遍历for ays in ${files}; do{ # 获取数组长度 num_1=${#array_files01[@]}  # 添加元素到数组中, index 每次需要 +1 array_files01[m1]=${ays}; m1=`expr ${m1} + 1`;  fi}done echo "结束分配数组时间:`date '+%Y-%m-%d %H:%M:%S'`"# 打印提示信息echo "1数组长度:${#array_files01[@]}" # 第一种遍历:正常for i in ${array_files01[@]}; do echo $idone  # 第二种遍历:不正常for i in ${array_files01}; do echo $idone

几种遍历数组的方法

1、for 循环

################### 第一种 #######################for i in ${array[@]}#也可以写成for element in ${array[*]}doecho $idone################## 第二种 ########################for i in ${array[*]}doecho $i ;done ################## 第三种 ########################for(( i=0;i<${#array[@]};i++)) do#${#array[@]}获取数组长度用于循环echo ${array[i]};done;

2、while 循环

i=0 while [ $i -lt ${#array[@]} ] #当变量(下标)小于数组长度时进入循环体do  echo ${ array[$i] }  #按下标打印数组元素 let i++ done

除了下标问题外,关于@与*在使用时也要注意,并不是完全等价,并且在被双引号包围时的解析有时也略有不同。

  • for遍历,${#arr1[@]}中@可以与*互换,并且被双引号包围时也是等效的,"${#arr1[@]}"。

  • for...in遍历,当直接遍历数组元素时,${arr1[@]}没有被双引号包围时@与*等效,但是解析数组元素时会把元素中的内容也按空格分隔,会导致解析错误。当${arr1[*]}被双引号包围时,会将数组中所有的元素按空格分隔后当作一个元素,解析也是错误的。只有当${arr1[@]}被双引号包围时,才能正确解析数组元素,所以直接遍历数组元素时,必须使用“"${arr1[@]}"”的方式。当通过遍历下标遍历数组元素时,${!arr1[*]}被双引号包围时,所有的元素下标会被逗号分隔后组成一个字符串,所以不能用此方式获取下标集合,其他三种情况可以正确获取下标。

  • while遍历,不受@、*与双引号影响。

以上是“shell中怎么遍历数组”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: shell中怎么遍历数组

本文链接: https://www.lsjlt.com/news/255799.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • shell中怎么遍历数组
    小编给大家分享一下shell中怎么遍历数组,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!背景某天遇到一个问题,现象如下:第一种遍历正常打印元素,然而第二种遍历只会...
    99+
    2023-06-09
  • shell如何遍历数组
    这篇文章主要介绍了shell如何遍历数组,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 遍历数组array=( one&...
    99+
    2022-10-19
  • JavaScript中数组怎么遍历
    这篇文章主要讲解了“JavaScript中数组怎么遍历”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript中数组怎么遍历”吧! ...
    99+
    2022-10-19
  • php怎么遍历数组
    这篇文章主要介绍了php怎么遍历数组的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php怎么遍历数组文章都会有所收获,下面我们一起来看看吧。四种方法:1、用“for($i=0;$i<数组长度;$i++)”...
    99+
    2023-06-30
  • 怎么在java中遍历数组
    这篇文章将为大家详细讲解有关怎么在java中遍历数组,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、分布式系...
    99+
    2023-06-14
  • java怎么遍历object数组
    在Java中,可以使用循环来遍历一个Object数组。有两种常用的方法可以实现这个功能:方法一:使用for循环javaObject[...
    99+
    2023-10-19
    java
  • JavaScript 中怎么实现数组遍历
    JavaScript 中怎么实现数组遍历,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。mapmap() 数组的每个元素都会调用回调函数,并...
    99+
    2022-10-19
  • java怎么遍历二维数组
    在Java中,可以使用嵌套的for循环来遍历二维数组。下面是一个例子: int[][] arr = {{1, 2, 3}, {4, ...
    99+
    2023-10-26
    java
  • PHP怎么用foreach()遍历数组
    这篇文章将为大家详细讲解有关PHP怎么用foreach()遍历数组,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。foreach()foreach()是一个用来遍历数组中数据的最简单有效的方法。<ph...
    99+
    2023-06-17
  • php怎么遍历二维数组
    在PHP中,可以使用foreach循环来遍历二维数组。以下是一个示例代码:```php$twoDimensionalArray = ...
    99+
    2023-09-11
    php
  • mongodb怎么遍历数组字段
    在MongoDB中,可以使用`$unwind`操作符来遍历数组字段。`$unwind`操作符将数组字段拆分为多个文档,每个文档都包含...
    99+
    2023-08-30
    mongodb
  • jquery中怎么遍历对象和数组
    jquery中怎么遍历对象和数组,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。JS forEach方法arr[].forEach(functi...
    99+
    2022-10-19
  • 浅谈shell 遍历数组的几种方法
    背景 某天遇到一个问题,现象如下:第一种遍历正常打印元素,然而第二种遍历只会打印一个元素! #!/bin/bash # $1 代表文件目录 # 执行 eg: # sh your_shell.sh /user/li...
    99+
    2022-06-04
    shell 遍历数组
  • php键值对数组怎么遍历
    PHP中,可以使用foreach循环来遍历键值对数组。下面是一个示例:```php$array = array("key1" => ...
    99+
    2023-10-11
    php
  • golang怎么遍历数组生成map
    在Golang中,可以使用for循环遍历数组,然后将数组的元素逐个添加到map中。以下是一个示例代码: package main ...
    99+
    2023-10-23
    golang
  • php怎么遍历json数组长度
    在PHP中,要遍历JSON数组并计算其长度,通常可以使用两种方法。本文将介绍这两种方法,以帮助您更好地处理JSON数据。方法一:使用count()函数count()函数是PHP中用于计算数组元素个数的函数。在处理JSON数据时,我们可以使用...
    99+
    2023-05-19
  • JS怎么循环遍历json数组
    本篇内容主要讲解“JS怎么循环遍历json数组”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JS怎么循环遍历json数组”吧!例如数据库里面的json字符串是这样的var str&nb...
    99+
    2023-07-04
  • 怎么在Python中使用Numpy遍历数组
    本篇文章给大家分享的是有关怎么在Python中使用Numpy遍历数组,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。python可以做什么Python是一种编程语言,内置了许多有...
    99+
    2023-06-14
  • Bash中如何遍历数组?
    在Bash中,数组是一种非常方便的数据结构,可以用于存储一组相关的值。在处理数组时,遍历数组是一项非常基本的操作。本文将介绍如何在Bash中遍历数组,并提供一些示例代码帮助您更好地理解。 一、Bash数组的定义 在Bash中,可以使用下面的...
    99+
    2023-09-30
    数组 bash windows
  • php中 数组如何遍历
    在 PHP 中,数组是一种非常常用的数据类型。当我们处理大量相似数据时,数组可以方便我们进行存储和操作。其中,数组遍历是我们在日常使用中经常操作的一个过程。下面,我将介绍在 PHP 中,数组如何遍历。使用for循环遍历数组在 PHP 中,可...
    99+
    2023-05-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作