SHELL 数组遍历
#!/bin/bash
array=("a" "b" "r" "c" "F") # 字符串数组推荐使用""来定义
# 循环遍历:带下标
echo -e "\033[31m 带下标的 foreach遍历方式 \033[0m"
for i in "${!array[@]}"; do
# 双括号运算符:字符串转数字
temp=$(($i + 1))
echo 第$temp个元素是: "${array[$i]}"
done
# 循环遍历:不带下标
echo -e "\033[32m 不带下标的foreach遍历方式 \033[0m"
for item in ${array[@]}; do
echo $item
done
echo -e "\033[33m 不带下标的foreach遍历方式的另一种写法 \033[0m"
# 循环遍历:不带下标
for item in ${array[*]}; do
echo $item
done
echo -e "\033[31m 标准for循环方式 \033[0m"
for ((i = 0; i < ${#array[@]}; i++)); do
#${#array[@]}获取数组长度用于循环
# 计数
num=$(($i + 1)) # 字符串转数值:$双括号语法格式
echo "第$num个元素是: ${array[i]}"
done
echo -e "\033[32m While循环方式遍历 \033[0m"
k=0
while [ $k -lt ${#array[@]} ]; do #当变量(下标)小于数组长度时进入循环体
# 计数
num=$(($k + 1))
echo "第$num个元素是: ${array[$k]}"
#按下标打印数组元素
let k++
done
echo "数值数组遍历"
numArray=(123 456 897 35)
for ((i = 0; i < ${#numArray[@]}; i++)); do
num=$(($i + 1))
echo "第$num个元素是: ${numArray[i]}"
done
本文来自博客园,作者:LoremMoon,转载请注明原文链接:https://www.cnblogs.com/hello-cnblogs/p/16003563.html