如果我有一个包含5个元素的数组,例如:
[a][b][c][d][e]
使用echo ${myarray[4]}
我可以看到它的含义。
但是,如果我不知道给定数组中元素的数量怎么办?有没有办法读取未知长度数组的最后一个元素?即第一个元素从右到左读取任何数组?
我想知道如何用bash做到这一点。
从bash 4.2开始,您可以只使用一个负索引 ${myarray[-1]}
来获取最后一个元素。您可以为倒数第二个做同样的事情,依此类推。在Bash中:
如果用于引用索引数组元素的下标的计算结果小于零,则该下标被解释为相对于大于数组最大索引的下标,因此负索引从数组末尾算起,并且索引-1表示最后一个元素。
分配也一样。当它说“表达”时,它实际上表示一种表达。您可以在其中编写任何算术表达式来计算索引,包括${#myarray[@]}
像${myarray[${#myarray[@]} - 1]}
以前的版本那样使用数组长度显式计算的索引。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句