簡體   English   中英

bash在數組中添加帶空格的字符串會添加兩個元素

[英]bash adding a string with a space to an array adds two elements

嗨,我有一個數組,想要添加包含空格的字符串。 如何才能做到這一點? 以下示例代碼顯示了我要執行的操作:

#!/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"

問題是項目“第一個項目”作為兩個元素添加到了數組中。 輸出:

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

用雙引號括住變量以防止擴展:

AARRAY+=("$sParam")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM