簡體   English   中英

如何在數組內部使用變量

[英]How to use variable inside the array

我試圖在數組變量中使用變量,但是它沒有按預期工作。

    ENV2[0]=567
    ENV1[0]=123
    ENV1[1]=789
    if [ $1 -eq 1 ]
    then
    name=ENV1
    echo "${name[0]}"
    echo "${name[1]}"
    else
    name=ENV1
    echo "${name[1]}"
    fi

輸出 :ENV1而不是“ 123”,而是在第二回顯部分打印“ ENV1”和空白行。 請幫助獲得正確的輸出,我是初學者。 謝謝

name=ENV1不會將變量ENV1的內容分配給變量name ,而是分配實際的字符串ENV1

  • 要將數組ENV1復制到name ,可以使用以下命令:

    name=$ENV1

    這與name=${ENV1[0]} 因為未指定索引,所以將復制數組變量的第一個元素。 因此,這里僅考慮索引0。

  • 要將ENV1所有值分配給name ,應使用此命令:

    set -A name "${ENV1[@]}"

    ENV1數組變量name設置為ENV1所有元素。

暫無
暫無

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

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