shell编程-数组
2021/7/14 7:07:15
本文主要是介绍shell编程-数组,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
本文连接 https://www.jianshu.com/p/8f2e13c5330d
一、数组 (array) 变量
定义和取值
数组中的值: wukong bajie shaseng
值的索引号: 0 1 2
负数的索引号: -3 -2 -1
数组的索引只能是
整数
# 定义一个数组 var=(wukong bajie shaseng) echo ${var[2]} //显示数组中索引号为 2 的值,索引号从 0 开始 输出 shaseng echo ${var[*]} //显示数组中所有的值 输出 wukong bajie shaseng
定义数组,并且其值从命令的结果中获取
# 把文件中的每一行作为数组中的一个值 line=(`cat /etc/passwd`)
切片
普通字符串切片
# 获取到 CPU 型号信息,作为基础数据进行处理 [root@shark ~]# cpu=$(grep 'model name' /proc/cpuinfo |uniq|cut -d: -f2) [root@shark ~]# echo "|$cpu|" | Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz| [root@shark ~]# echo ${cpu:1} # 从索引号 1 开始向后取值,取到最后 Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz [root@shark ~]# cpu=${cpu:1} [root@shark ~]# echo "|$cpu|" |Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz|
数组切片
[root@shark ~]# nums=(a b c d e) [root@shark ~]# echo ${nums[*]:2} # 从索引号 2 开始向后取值,取到最后 c d e [root@shark ~]# echo ${nums[*]:2:2} # # 从索引号 2 开始向后取值,取 2 个 c d [root@shark ~]#
循环数组
[root@shark ~]# nums=(a b c d e) [root@shark ~]# for i in ${nums[*]} > do > echo $i > done a b c d e
二、declare 声明关联数组
数组的索引可以是
普通字符串
声明关联数组使用 A
选项
declare -A 数组名称
1. 声明
# 声明关联数组,数组名称为 info [shark@sharkyun ~]$ declare -A info
2. 添加值
- 每次添加一个值,可以追加
示例:
[shark@sharkyun ~]$ info["name"]="shark" [shark@sharkyun ~]$ info["age"]=18 [shark@sharkyun ~]$ echo ${info["name"]} # 显示索引对应的值 shark [shark@sharkyun ~]$ echo ${info["age"]} 18
- 一次添加所以的值,不可以追加,每次都会覆盖上次的值
每个值之间使用 空格 隔开
var=([key1]="value1" [key2]="value2")
示例:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mWhalANC-1626163535947)(assets/image-20200910101909271.png)]
删除
[root@kube-master arry]# unset info[name] [root@kube-master arry]# echo ${!info[*]} age
循环关联数组
[root@shark ~]# echo ${info[@]} shark 18 [root@shark ~]# for i in ${info[@]} > do > echo $i > done shark 18 [root@shark ~]#
这篇关于shell编程-数组的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-10百万架构师第十三课:源码分析:Spring 源码分析:Spring核心IOC容器及依赖注入原理|JavaGuide
- 2025-01-10便捷好用的电商API工具合集
- 2025-01-09必试!帮 J 人团队解决物流错发漏发的软件神器!
- 2025-01-09不容小觑!助力 J 人物流客服安抚情绪的软件!
- 2025-01-09为什么医疗团队协作离不开智能文档工具?
- 2025-01-09惊叹:J 人团队用啥软件让物流服务快又准?
- 2025-01-09如何利用数据分析工具优化项目资源分配?4种工具推荐
- 2025-01-09多学科协作难?这款文档工具可以帮你省心省力
- 2025-01-09团队中的技术项目经理TPM:工作内容与资源优化策略
- 2025-01-09JIT生产管理法:优化流程,提升竞争力的秘诀