我有一個腳本,我已經定義了兩個數組。現在取決於傳遞的數組名(作爲參數),我想在下面的函數中處理相同的內容。此前,我甚至沒有獲得變量'ARRAY'中的任何元素,直到我使用${!}
無法檢索所有數組元素
現在的問題是,當我打印數組內容(或該數組中的元素數)時,第一個元素。
有什麼建議嗎?
腳本:
#!/bin/bash
APP=$1
process_data() {
ARRAY="${!1}"
echo "No of array elements: ${#ARRAY[@]}"
echo "Array content: ${ARRAY[@]}"
}
ORADATA=(
"oraserver/content:abcDaily/ORAServer/"
"oraserver/w3s-ix86:abcDaily/ORAServer/"
)
SQLDATA=(
"sqlserver/content:abcDaily/SQLServer/"
"sqlserver/w3s-ix86:abcDaily/SQLServer/"
)
process_data ${APP[@]}
命令:
-bash-2.05b$ ./testarray.sh ORADATA
輸出:
No of array elements: 1
Array content: oraserver/content:abcDaily/ORAServer/
它也可以。 :)感謝評論戈登。他們相當有幫助。 – Technext