0

我在读取输入并将其存储在 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[@]}"

谢谢你。

4

1 回答 1

2

您在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[@]}"

它会按预期返回数组。

于 2013-10-30T10:24:21.843 回答