使用没有索引的数组名称获取Bash中的第一个数组元素,好吗?

时间:2018-03-26 21:47:19

标签: arrays bash

GNU Bash 4.4在通过仅使用数组名称或使用数组语法访问变量访问第一个元素或仅访问数组元素时似乎很宽容。 $ {var [0]}和$ {var [@]}都返回" Value"当变量var =' Value'。

当只需要一个变量时,我可以通过使用其中一个数组作为变量来简化我的代码。对于这个软件包,我更关心的是它没有使用下一个Bash更新而不是可移植性。

使用变量语法编写访问数组第一个元素的代码是否安全?

declare -a foo='Value'
declare -p var
declare -a var=([0]="Value")
echo ${foo}
Value

1 个答案:

答案 0 :(得分:5)

这是documented行为:

  

引用不带下标的数组变量相当于使用下标0引用。

但是,我建议您仍然使用下标,以使您的代码更清晰。