shopt -s nullglob
array=(~/unsorted_files/*.jpg)
for ((i=0; i<${#arr[@]}; i++)); do
echo "${array[$i]}"
done
附上我试图用来解析目录中的jpg文件然后打印它们的代码。通过shell检查运行代码,我被告知虽然数组已被引用但尚未分配。
我很困惑。我的理解是=是赋值运算符,因此,我假设(错误地看来)我将所有具有jpg文件类型的文件分配给数组。
答案 0 :(得分:2)
for循环计数器检查中有拼写错误。您已填充array
,但在循环中检查arr
。修复如下
for ((i=0; i<${#array[@]}; i++)); do
由于虚假表达式评估,即使数组可能由jpeg文件填充,也不会输入循环体。