数组 - 从用户读取输入 - linux

时间:2013-10-30 10:02:16

标签: linux shell unix

我在读取输入时存在一些问题,并将其存储在shell脚本中的数组中。请帮忙

declare -a array_name
echo "How many groups you want to enter?"
read group_count
echo "enter $group_count groups: "
for(( c = 0 ; c <= $group_count ; c++))
do
  read abc_elements
  while read abc_elements
  do
   array_name[$c] = "$abc_elements"
  done
done
echo -e "${array_name[@]}"

谢谢。

1 个答案:

答案 0 :(得分:0)

由于哪些代码始终进入真实条件,因此您在此处添加了while循环。这里不需要它。并使用c < $group_count条件,因为数组索引从0开始。

使用以下代码:

declare -a array_name
echo "How many groups you want to enter?"
read group_count
echo "enter $group_count groups: "
echo $group_count
for(( c = 0 ; c < $group_count ; c++))
do
  read abc_elements
#  while read abc_elements
#  do
  array_name[$c]="$abc_elements"
#  done
done
echo -e "${array_name[@]}"

它会按预期返回数组。