bash向数组添加带空格的字符串会添加两个元素

时间:2015-03-12 16:45:08

标签: arrays string bash space

您好我有一个数组,并希望添加包含空格的字符串。如何才能做到这一点? 以下示例代码显示了我想要执行的操作:

#!/bin/bash

# works on BASH versions >4
ShowArray1() {
   echo "in ShowArray1 -----------------------"
   declare -n AlocalArray="$1"
   declare -p AlocalArray
   echo "Showing content of array"

   local iMax=${#AlocalArray[@]}    
   echo "ARRAYCOUNT: $iMax"
   for ((iItem=0; iItem < iMax ; iItem++)); do
      echo "ITEM: ${AlocalArray[$iItem]}"
   done
}

declare -a AARRAY
#declare -p AARRAY
iMax=${#AARRAY[@]}
echo "HERE ARRAYCOUNT: $iMax ITEMS in ARRAY"

ShowArray1 "AARRAY"
sParam="1st Item"
AARRAY+=($sParam)

ShowArray1 "AARRAY"

问题是项目&#34;第1项&#34;被添加为数组中的两个元素。输出:

Showing content of array
ARRAYCOUNT: 2
ITEM: 1st
ITEM: Item

1 个答案:

答案 0 :(得分:5)

双引号变量以防止扩展:

AARRAY+=("$sParam")