Você pode apenas usar um índice negativo ${myarray[-1]}
para obter o último elemento . Você pode fazer a mesma coisa pela segunda e assim por diante; no Bash:
If the subscript used to reference an element of an indexed array evaluates to a number less than zero, it is interpreted as relative to one greater than the maximum index of the array, so negative indices count back from the end of the array, and an index of -1 refers to the last element.
O mesmo também funciona para atribuição. Quando diz "expressão", isso realmente significa uma expressão; você pode escrever em qualquer expressão aritmética lá para calcular o índice, incluindo um que calcule usando o comprimento da matriz ${#myarray[@]}
explicitamente.