GNU Bash 4.4 在通过仅使用数组名称或使用数组语法访问变量来访问数组的第一个元素或唯一元素时似乎很宽容。当变量 var='Value' 时,${var[0]} 和 ${var[@]} 都返回“Value”。
当只需要一个变量时,我可以通过使用其中一个数组作为变量来简化我的代码。对于这个包,我更关心的是它不会随着下一次 Bash 更新而停止,而不是可移植性。
使用变量语法编写访问数组第一个元素的代码是否安全?
declare -a foo='Value'
declare -p var
declare -a var=([0]="Value")
echo ${foo}
Value
最佳答案
这是一个 documented行为:
Referencing an array variable without a subscript is equivalent to referencing with a subscript of 0.
但是,我建议您仍然使用下标,以使您的代码更清晰。
关于arrays - 使用不带索引的数组名称获取 Bash 中的第一个数组元素,好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49501157/