[英]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.