我正在运行Ubuntu 14.04并尝试在shell脚本中填充数组,以便我可以循环遍历它并利用其内容来填充文本文件。然而,有一个障碍:它似乎没有填补。
我已经简化了我正在处理基本问题的较大脚本,转载如下:
WL_START=1
WL_END=5
WL_INC=1
wl_range=$(seq $WL_START $WL_INC $WL_END)
declare -a WL
for i in $wl_range # loop through sequence and fill array
do
WL[$i]=${wl_range[$i]}
done
echo $wl_range
echo ${wl_range[1]}
echo $WL
echo ${WL[1]}
但是,我的输出如下:
1 2 3 4 5
空行
空行
空行
有什么想法吗?我知道人们说只使用seq来填充数组,但我也遇到了同样的问题。
答案 0 :(得分:4)
工作太多了。
WL=($(seq $WL_START $WL_INC $WL_END))
答案 1 :(得分:0)
wl_range
是一个由空格分隔的数字组成的字符串,而不是数组。您的for
循环应该看起来像
for i in $wl_range; do
WL[i]=$i
done
那就是说,不要使用for
循环;使用@ IgnacioVazquez-Abrams的回答。