一个shell数组的有关问题

一个shell数组的问题
deleteConfigureItems()
{
  declare -a array
if [ $1=$ItemStr1 ]
then
for BeginLine in `sed -n '/Number/=' $FileDirectory/$FileName`
do
EndLine=`expr $BeginLine + 2`
array[$BeginLine]="-e '${BeginLine},${EndLine} d' "
done
fi
 
echo ${array[@]}
  sed -e ${array[@]} $FileDirectory/$FileName
}
要批量删除文件中的Number,但是
echo ${array[@]}
的结果居然是:
'423,425 d' -e '483,485 d' -e '521,523 d' -e '589,591 d' -e '628,630 d' -e '678,680 d' -e '727,729 d' -e '762,764 d'

1.为什么前面烧少了一个"-e"
2.少了我就加一个吧?sed -e ${array[@]} $FileDirectory/$FileName
错误了,提示是:
Unrecognized command: -e

请大侠看下啊!谢谢!


------解决方案--------------------
echo ${array[@]} 
之后你发现少一个-e 是因为第一个-e被echo当成参数介绍了 因为echo也有-e参数
其实array[@]里并没有少

------解决方案--------------------
探讨
echo ${array[@]}
之后你发现少一个-e 是因为第一个-e被echo当成参数介绍了 因为echo也有-e参数
其实array[@]里并没有少