bash数组总结
2024-10-07 20:28:11
bash数组操作
bash支持两种数组,一种是索引数组,一种是关联数组
索引数组
数组的值类型是任意的,索引也未必一定要连续,当做列表理解更好
下面总结下索引数组,即列表:
1. 声明
declare -a a
2. 初始化
a=(1 2 3 4)
# OR
a=([0]=2 [3]=8) # 注意长度为2,不是4
3. 获取列表长度
size=${a[@]}
4. 追加元素
a+=(11 12 13 14)
5. 赋值
a[1]=9
6. 按索引读取
value=${a[0]} # 读取索引0的值
7. 删除某元素
unset a[0]
8. 清空数组
unset a
9. 切片
echo ${a[@]:1:3} # 从索引1开始的3个元素
# 也支持负数索引,-1表示最后一个,但负数必须用括号括住
last=${a[@]:(-1):1}
10. 遍历
for i in ${a[@]}
do
echo $i
done
关联数组
1. 声明
declare -A map
2. 初始化
map[key1]=value1
map[key2]=value2
# or
map=([key1]=value1 [key2]=value2)
3. 长度
size=${!map[@]}
4. 获取键集合
keyset=${!map[@]}
5. 获取值集合
values=${map[@]}
6. 遍历
for key in ${!map[$@]}
do
echo $key:${map[$key]}
done
最新文章
- PHP 高级编程(3/5) - 使用SPL(标准PHP库)实现观察者模式
- 深度解析SDN——利益、战略、技术、实践(实战派专家力作,业内众多专家推荐)
- Java中如何解决double和float精度不准的问题
- NOJ 1643 阶乘除法(YY+小技巧)
- C# 利用WORD模板和标签(bookmark) 批量生成WORD
- NSMutableAttributedString iOS 在UILabel显示不同的字体和颜色(转)
- (转) linux虚拟机中和主机三种网络连接方式的区别
- libjingle开发人员指南
- C++创建动态链接库(*.dll)
- 演练5-7:Contoso大学校园管理系统(实现继承)
- 今天学习js做了些总结,分享给大家
- hdu 3091 Necklace(状态压缩类似于TSP问题)
- PHP通过Zabbix API获取服务器监控信息
- Elimination Game题解
- 菜鸡谈OO 第一单元总结
- TIMESTAMP类型字段在SQL Server和MySQL中的含义和使用
- $(document).ready() 和 window.onload 方法比较
- 【Android】录音暂停和继续
- 利用goole guava 下载文件到本地
- ZOJ 3981 &;&; 2017CCPC秦皇岛 A:Balloon Robot(思维题)