神刀安全网

Bash 数组遍历

无论使用任何一种编程语言,数组都可以说是最常见的数据结构。而数组遍历则更是常用的操作。由于写 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

这个问答中摘录出来的。特此感谢!

参考资料

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » Bash 数组遍历

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
分享按钮