最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Linux 如何向数组中追加和删除元素
时间:2026-09-02 08:44:47 编辑:袖梨 来源:一聚教程网
Linux Shell数组支持动态增删元素,追加常用+=语法,插入需手动重组,删除用unset留空槽,清空可用unset arr或arr=()。
Linux Shell 中的数组支持动态增删元素,操作简单但需注意语法细节。追加和删除都基于索引或整体结构,不涉及类型限制,也不需要预先声明大小。
向数组末尾追加单个或多个元素
最常用的是 += 语法,直接在原数组后添加新值:
-
arr+=(new_item)—— 追加一个元素 -
arr+=(item1 item2 item3)—— 一次追加多个元素 -
arr=("${arr[@]}" extra1 extra2)—— 等效写法,显式拼接,适合兼容性要求高的场景
向指定位置插入或覆盖元素
Shell 数组不提供“中间插入”原生命令,但可通过下标赋值实现覆盖或占位:
-
arr[5]="value"—— 若索引 5 原来为空,就相当于“插入”;若已有值,则覆盖 - 要真正插入(其他元素后移),需手动重组数组,例如:
arr=("${arr[@]:0:2}" "new" "${arr[@]:2}")表示在索引 2 前插入
删除单个数组元素
使用 unset 清除指定索引的元素,该位置变为空槽(不是自动前移):
-
unset arr[2]—— 删除第 3 个元素(索引从 0 开始) - 删除后,
${arr[@]}输出会跳过该位置,但${!arr[@]}显示的下标仍包含缺口
清空整个数组或彻底重置
两种常见需求对应不同操作:
-
unset arr—— 完全删除数组变量,后续引用为未定义 -
arr=()—— 清空内容但保留变量名,长度变为 0,可继续追加