Bash 脚本:将 forinloop 与数组一起使用

Bash 脚本:将 forinloop 与数组一起使用

我正在尝试制作一个脚本,该脚本将使用 forin 循环打印出数组中的所有文字...只有我的第一个文字被打印...有帮助吗?

#!/bin/bash
somearray=( p 5 6 j 050yh0k 0 hkofohkf 50 )
for k in somearray
do
echo ${somearray[k]}
done

答案1

为了获取数组的所有元素,您需要使用构造${var[@]}。因此,要迭代for数组的所有成员的循环:

for element in "${somearray[@]}"; do
    echo "$element"
done

答案2

要像您最初尝试的那样循环遍历数组的索引:

for k in "${!somearray[@]}"; do
    printf '%s\n' "${somearray[k]}"
done

相关内容