我想动态创建和填充一个数组,但它不是这样工作的:
i=0
while true; do
read input
field[$i]=$input
((i++))
echo {$field[$i]}
done
我想动态创建和填充一个数组,但它不是这样工作的:
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
是另一个。或其中任何一个。但是,您发布的内容是有效的。