• 35648

    文章

  • 23

    评论

  • 20

    友链

  • 最近新加了很多技术文章,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

Bash 数组遍历

欢迎来到阿八个人博客网站。本 阿八个人博客 网站提供最新的站长新闻,各种互联网资讯。 喜欢本站的朋友可以收藏本站,或者加QQ:我们大家一起来交流技术! URL链接:https://www.abboke.com/ITjs/2019/0611/591.html 无论使用任何一种编程语言,数组都可以说是最常见的数据结构。而数组遍历则更是常用的操作。由于写 Bash 脚本比较少,每次需要遍历数组时,都是现用现查,网上又有很多资料不是特别靠谱,所以,找起来很是麻烦。这次干脆一劳永逸,把查询到的资料整理出来,方便后续查找。废话少说,直接上代码吧。

#!/bin/bash
#
# 数组遍历示例
#
# D瓜哥,http://www.diguage.com/

# 声明一个数组变量
declare -a arr=(element1 element2 element3)

#遍历数组
for i in "${arr[@]}"
do
    echo "$i"
done

echo -e "\n---------------------------------\n"

# 直接遍历一个字符串列表
for dbn in a b c d e f;
do
    echo $dbn
done

echo -e "\n---------------------------------\n"

# 这样也可以,只是这样写,看着好不爽
listOfNames="RA
RB
R C
RD"

for name in $listOfNames  # Note: No quotes
do
    echo "$name"
done

echo -e "\n---------------------------------\n"

## 声明一个数字变量,可以带引号
declare -a array=("one" "two" "three")

# 获取数组长度
arraylength=${#array[@]}

# 遍历数组,获取下标以及各个元素
for (( i=1; i<${arraylength}+1; i++  ));
do
    echo $i " / " ${arraylength} " : " ${array[$i-1]}
done

echo -e "\n---------------------------------\n"

# 可以直接使用列表来声明数组
files=( "/etc/passwd" "/etc/group" "/etc/hosts"  )
for i in "${files[@]}"
do
    echo $i
done

echo -e "\n---------------------------------\n"

# 循环从终端接收输入并打印出来,也就是以换行符作为分隔符
while read name
do
    echo "$name"
done

这篇文章的大部分示例是从 Loop through array of strings in bash script? – Stack Overflow
这个问答中摘录出来的。特此感谢!

参考资料



相关文章

暂住......别动,不想说点什么吗?
  • 全部评论(0
    还没有评论,快来抢沙发吧!