"${array[$key]}"與"${array["$key"]}"?
通常,我將所有 bash 變數都參考為默認值,特意例外。為關聯陣列指定鍵時會怎樣?我看到在簡單的情況下,鍵可以有空格并且沒有引號似乎沒有任何分詞問題,但是 shell 經常有一些模糊的情況,其中構造有警告。
"${array[$key]}"和 moreso 中有很多額外的字符"${array["$key"]}"。是否有任何理由在關聯陣列參考的索引欄位中不參考變數是一個壞習慣?
uj5u.com熱心網友回復:
關聯陣列下標中的變數不需要參考。
如果雙引號被使用時,它們將被洗掉(整個陣列變數是否還引述,或沒有)。因此,您可以根據需要使用雙引號,但它沒有任何作用。
單引號將停止變數(包含陣列下標)的擴展,正常情況下。
man bash > Arrays
associative arrays are referenced using arbitrary strings
另請注意,索引陣列下標被評估為算術,這意味著$下標中使用的變數不是必需的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/358770.html
標籤:猛击
上一篇:無法從源代碼安裝apertium語言包-make命令顯示錯誤
下一篇:BASH:執行存盤在陣列中的命令
