我正在尝试制作一个脚本,该脚本将使用 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