首页 > 解决方案 > 如何在bash中删除数组的最后一个元素?

问题描述

可以在此处找到从数组中删除元素的语法:从 Bash 数组中删除元素

此外,这里是如何找到数组的最后一个元素:https ://unix.stackexchange.com/questions/198787/is-there-a-way-of-reading-the-last-element-of-an-带有 bash 的数组

但是如何将它们(如果可能)混合在一起以删除数组的最后一个元素?

我试过这个:

TABLE_COLUMNS=${TABLE_COLUMNS[@]/${TABLE_COLUMNS[-1]}}

但它抛出:

错误的数组下标

标签: arraysbash

解决方案


您可以使用unset给定位置来删除数组的特定元素。

$ foo=(1 2 3 4 5)
$ printf "%s\n" "${foo[@]}"
1
2
3
4
5
$ unset 'foo[-1]'
$ printf "%s\n" "${foo[@]}"
1
2
3
4

推荐阅读