我正在尝试这样做......
echo "Enter the number of fruits\n"
read fruit
echo $inp # this will print the number of fruits to enter
如果水果是4
脚本应该能够动态地要求用户输入[4]水果并将其存储到4变量中,如下所示。
fruit1=apple
fruit2=jack fruit
fruit3=pineapple
fruit4=grapes
我尝试了以下内容,但这并没有帮助
for i in `seq 1 $fruit`
do
echo "Enter fruit$i\n"
read fruit[$i]
echo "fruit[$i]"
done
提前致谢。
答案 0 :(得分:1)
您可以在每一步动态增长数组。假设您从计数开始,初始化空数组并逐个添加元素。
count=4; fruits=();
for i in `seq "$count"`;
do read f; fruits+=( "$f" );
done;
echo "${fruits[@]}"
适用于版本: 版本AJM 93t + 2010-06-21。
这适用于AIX中的BASH
答案 1 :(得分:1)
这是ksh88
- 和pdksh
- 兼容版本:
count=4
set -A fruits
i=0
while (( i < count )); do
echo "Enter fruit$i"
read fruits[i]
(( i += 1 ))
done
echo "${fruits[@]}"
在Solaris 8上测试/bin/ksh
(ksh88),在MirBSD上测试pdksh
(其原生mksh
支持+=()
表示法,但我安装了其他shell用于delta测试)。