shell 数组遍历的3种方法_shell数组for循环遍历-程序员宅基地

技术标签: shell  

shell数组的基本知识请参阅我的上一篇博客shell 数组
首先创建一个数组 array=( A B C D 1 2 3 4)

1.标准的for循环

for(( i=0;i<${#array[@]};i++)) do
#${#array[@]}获取数组长度用于循环
echo ${array[i]};
done;

 

2.for … in

遍历(不带数组下标):

for element in ${array[@]}
#也可以写成for element in ${array[*]}
do
echo $element
done

 

遍历(带数组下标):

for i in "${!arr[@]}";   
do   
    printf "%s\t%s\n" "$i" "${arr[$i]}"  
done 

 

3.While循环法:

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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/jingwen3699/article/details/82114603

智能推荐

【金猿产品展】数字孪生城市智能运营中心(IOC)可视化决策系统——构建城市数字孪生,助力智慧决策...-程序员宅基地

文章浏览阅读479次。数字冰雹产品本产品由数字冰雹投递并参与“数据猿年度金猿策划活动——2020大数据产业创新服务产品榜单及奖项”评选。大数据产业创新服务媒体——聚焦数据 · 改变商业数字冰雹数字孪生•城市智..._ioc 智慧城市智能运行中心 需要注意什么

中文排版CSS心得[转摘]-程序员宅基地

文章浏览阅读64次。数月来学习web标准,并遵循标准设计和制作web页面。一直想写点什么,整理一下自己的心得体会。写这篇文章,主要是针对中文排版设计,英文排版因为很少做,所以不涉及。先介绍如何设定字体、颜色、大小、段落空白等比较简单的应用,后面再介绍下比如首字下沉、首行缩进。最后讲一些常用的web页面中文排版,比如中文字的截断、固定宽度词内折行(word-wrap和word-break)等等。因为只是写一些...

Matlab中Savitzky-Golay filtering(最小二乘平滑滤波)函数sgolayfilt的使用方法-程序员宅基地

文章浏览阅读4.8w次,点赞17次,收藏176次。语法规则y = sgolayfilt(x,order,framelen)y = sgolayfilt(x,order,framelen,weights)y = sgolayfilt(x,order,framelen,weights,dim)语法描述y = sgolayfilt(x,order,framelen):对数据向量x使用Savitzky-Golay FIR平滑滤波器。如果x..._sgolayfilt

深入探讨数据库系统概念习题答案的内涵-程序员宅基地

文章浏览阅读110次,点赞2次,收藏4次。那么,如何才能更好地理解和掌握概念习题答案呢?在解答概念习题的过程中,我们应该善于思考,思考问题的本质和要点,发现问题的规律和特点,从而更好地解题。最后,我们还需要多交流,与他人讨论和交流自己的见解和想法,从他人那里学习和借鉴,不断地完善自己的知识体系和技术水平。概念习题答案提供了一个锻炼我们技术应用和实践能力的平台,通过不断地解答和分析习题,我们可以提高我们在数据库系统领域的综合素质。通过对数据库系统概念习题答案的深入探讨,我们可以更好地理解和掌握这个领域,提高我们在数据库系统领域的综合素质和技术水平。

手撕环形队列系列二:无锁实现高并发_手撕环形队列系列二:无锁实现高并发-程序员宅基地

文章浏览阅读851次。本文是手撕环形队列系列的第二篇,之前的文章链接如下:《手撕环形队列》前面文章介绍的是一个比较基本的环形队列,能够在多线程中使用,但有一个前提:任意时刻,生产者和消费者最多都只能有一个。也就是说,如果有多个生产者要并发向队列中写入,需要在外部进行加锁或其它方式的并发控制,保证任意时刻最多只有一个生产者真正向环形队列进行写入。同样的,多个消费者要从队列中读取进行消费,也需要在外部进行加锁或其它方式的并发控制,保证任意时刻最多只有一个消费者从环形队列进行读取。本文的内容,就是介绍如何能够支持多线程场景_手撕环形队列系列二:无锁实现高并发

如何在2023年将fydeOS/ChromeOS自带linux子系统更改为arch?_fyde os root-程序员宅基地

文章浏览阅读1.2k次,点赞25次,收藏14次。之前已经有人写过类似教程了。但是,随着chromeos的版本更新,过去的操作变得不再适用。_fyde os root

随便推点

Qt学习:界面布局_qtl界面-程序员宅基地

文章浏览阅读506次。1.绝对位置定位(absolute positioning):控件布局是固定位置,没有自适应功能。例子如下:QWidget *pWidget = new QWidget;QLabel label(pWidget);label.setText(QObject::tr("姓名:"));label.setGeometry(10,10,20,20);QLineEdit namedLineEdi..._qtl界面

linux kernel tcp参数调优_kernel tcp config file-程序员宅基地

文章浏览阅读410次。TCP linux kernel 调优参数 2.6.32 标准内核 描述 默认值 优化值 /proc/sys/net/core/rmem_default 默认的TCP数据接收窗口大小(字节)。 229376 2..._kernel tcp config file

unity新动画系统之动画层和动画遮罩_unity3d ui遮罩动效-程序员宅基地

文章浏览阅读7k次,点赞2次,收藏7次。这一节来说说unity动画层layer和遮罩avatarMask;weight 权重,对应着这一层动画在所有层动画中所占的比例。以上图来说明,new layer中的weight为0,模型的动画效果就是base layer中的动画;0-1之间,模型的动画效果就是这两层动画的混合; mask 遮罩,手动控制模型哪些骨骼参与动画哪些不参与;在unity中有两种常用的说明下,第一种就是creat..._unity3d ui遮罩动效

《c/c++ 获取时间戳》——精确到毫秒_c++获取毫秒时间戳-程序员宅基地

文章浏览阅读1.7w次,点赞7次,收藏35次。《c/c++ 获取时间戳》——精确到毫秒_c++获取毫秒时间戳

慕课网导航的html_慕课网导航栏怎么写html-程序员宅基地

文章浏览阅读359次。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>float</title> <style> *{ padding: 0; margin..._慕课网导航栏怎么写html

One To Many‘ attribute value type should not be ‘Comment‘_one to many' attribute value type should not be-程序员宅基地

文章浏览阅读2.3k次。One To Many’ attribute value type should not be ‘Comment’今天在写项目的时候发现一直报这个错,有可能的原因是这个原因:我项目中使用的是spring data jpa ,框架会把该属性当成数据库的一个字段,而set不是mysql的数据类型;但是我自己的问题是忘记把实体类加上注解了entity的注解了,没加的话jpa不会将它识别为一个数据库的表,所以也会产生这个错误@Entity(name = "t_comment")@Tablepubl_one to many' attribute value type should not be

推荐文章

热门文章

相关标签