删除bash数组中最后一项的最后一个字符

1 bash array

我有这样的数组:

Array={123},{456}
Run Code Online (Sandbox Code Playgroud)

现在我想删除最后一项6

Sté*_*las 5

数组bash定义如下:

a=(foo bar baz)
Run Code Online (Sandbox Code Playgroud)

或者:

a=([12]=foo [5]=bar)
Run Code Online (Sandbox Code Playgroud)

(数组bash更像是关联数组,键限制为正数,元素按数字排序)。

要删除具有最大键的元素的最后一个字符,使用 的最新版本bash,您可以执行以下操作:

a[-1]=${a[-1]%?}
Run Code Online (Sandbox Code Playgroud)