在 Shell 脚本(主要是 bash/zsh)里,数组是很常用的数据结构。
操作 | 写法 / 示例 | 说明 |
---|---|---|
定义数组 | arr=(a b c) | 一次性定义 |
指定索引赋值 | arr[2]=x | 给索引 2 赋值 |
取单个元素 | ${arr[0]} | 取第 0 个元素 |
所有元素 | ${arr[@]} | 展开为多个参数 |
${arr[*]} | 展开为一个整体 | |
长度(个数) | ${#arr[@]} | 数组元素数量 |
单个元素长度 | ${#arr[0]} | 索引 0 元素的长度 |
遍历数组 | for i in "${arr[@]}"; do echo $i; done | 遍历所有元素 |
删除元素 | unset arr[1] | 删除索引 1 的元素 |
删除整个数组 | unset arr | 清空整个数组 |
切片(子集) | ${arr[@]:1:2} | 从索引 1 开始,取 2 个元素 |
替换内容 | ${arr[@]/old/new} | 批量替换数组里字符串 |