Shell之遍历数组-yellowcong

本文通过一个具体的Bash脚本案例介绍了如何定义数组、获取数组元素、遍历数组及获取数组长度等基本操作。详细展示了使用for循环和while循环处理数组的方法,并强调了在Linux环境下编写脚本时需要注意的细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数组的处理,可以通过for和while两种语法来解决,一般情况下,我们会使用for循环来解决这类问题,在循环或者判断语句中,一定要注意空格的问题

案例

#!/bin/bash

#数组是使用空格分开的
skills=(JAVA hadoop spark Docker)
echo "第一个元素是:${skills[0]}"

#获取数组的所有数据
echo "数组内容是${skills[*]}"
echo "数组内容是${skills[@]}"


#获取数组的长度
echo 数组长度是${#skills[*]}
echo 数组长度是${#skills[@]}

##for循环遍历数组
# ;相当于换行了
for skill in ${skills[@]}; do
        echo${skill}很NB
done

echo -------常用方法----------------------
#do 要么换行,要么加; 解决
for skill in ${skills[@]}
do
        echo${skill}很NB
done

echo ------------带数组小标的循环方法-----------------
for index in ${!skills[@]}
do
        echo ${index} - ${skills[index]}
done

echo -----------while 循环-----------------
#这个判断条件里面需要每个前后都有空格
while [[ i -lt ${#skills[@]} ]]
do
        echo ${i}-${skills[i]}
        #在linux中一定要注意空格了,这个i++ 不能有空格
        let i++
done

这里写图片描述

执行结果

这里写图片描述

在$.each()中,要退出循环有两种方式。第一种是使用return true,这会跳至下一个循环,相当于在普通的循环中使用continue。第二种是使用return false,这会停止循环,相当于在普通的循环中使用break。\[1\]\[3\]具体来说,如果你想跳过当前循环,可以在循环体中使用return true。如果你想停止循环,可以在循环体中使用return false。\[2\]请注意,直接在$.each()中使用return或return value是不会直接退出该方法的,还是会继续执行循环。只有在使用return true或return false时,才会有特殊意义并且能够实现跳过或停止循环的效果。 #### 引用[.reference_title] - *1* [$.each使用以及return存在的坑](https://blog.youkuaiyun.com/qq_40555277/article/details/108229875)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Js之$.each退出循环-yellowcong](https://blog.youkuaiyun.com/yelllowcong/article/details/78269935)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狂飙的yellowcong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值