动态地在bash中创建数组



我想动态创建和填充一个数组,但它不起作用:

i=0
while true; do
    read input
    field[$i]=$input
    ((i++))
    echo {$field[$i]}  
done

尝试这样的东西:

#! /bin/bash
field=()
while read -r input ; do
    field+=("$input")
done
echo Num items: ${#field[@]}
echo Data: ${field[@]}

当没有更多输入的情况下(文件结束,键盘中的^D)时,它停止读取,然后打印读取的元素数和整个数组。

分配很好;查找是错误的:

echo "${field[$i]}"
i= field=()
while :; do
    read -r 'field[i++]'
done

是一种方法。mapfile是另一个。或其中任何一个。但是您发布的内容是有效的。

相关内容

  • 没有找到相关文章

最新更新