2013-10-30 48 views
0

我在读取输入并将其存储在shell脚本中时遇到了一些问题。请帮忙Array - 从用户读取输入 - linux

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

谢谢。

+0

请自己提供一些信息。什么是abc_elements和什么是array_name。你为什么试图读两次abc_elements?你的循环做了什么以及它们的终止条件是什么。最后,你甚至没有说出了什么问题,你得到了什么错误信息,以及你是如何解决问题的。 – domen

回答

0

您已在此处添加while循环,因为代码总是进入真实条件。这里不需要。而且由于数组索引从0

使用下面的代码开始使用c < $group_count条件:

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

它会回报你的阵列预期。