首页 > 解决方案 > 如何在for循环中设置数组总元素

问题描述

我有以下代码:

#!/bin/bash

SECTION[1]="900px"
PATH[1]="/path/to/folder"

SECTION[2]="1080px"
PATH[2]="/patj/to/folder2"

SECTION[3]="3000px"
PATH[3]="/patj/to/folder3"

for i in {1..3}
do
    echo "${SECTION[$i]}"
    echo "${PATH[$i]}"
done

如何使 for 循环遍历节数?

我试过:

for i in {1.."${#SECTION[@]}"}

但我得到一个操作数预期的错误。

标签: arraysbashloops

解决方案


您可以使用 C 之类的 for 循环语法

for ((i=1;i <= ${#SECTION[@]};i++))
do 
    echo "${SECTION[$i]}"
    echo "${PATH[$i]}" 
done

或与seq

for i in $(seq ${#SECTION[@]})
do 
    echo "${SECTION[$i]}"
    echo "${PATH[$i]}" 
done

推荐阅读