编程教育资源分享平台

网站首页 > 后端开发 正文

每天2分钟学习unix/linux系统shell编程(十三)map与array

luoriw 2024-01-31 12:32:27 后端开发 10 ℃ 0 评论

这一期作为大结局吧,再长的连续剧也有剧终的时候,今天主要介绍一下map与array。分为以下几个章节:

  1. shell编程中array的声明定义
  2. shell编程中array的使用
  3. shell编程中array的例子
  4. shell编程中map的声明定义
  5. shell编程中map的使用
  6. shell编程中map的例子

一、shell编程中array的声明定义

声明定义语法如下:

arrayName=(v1 v2 v3 ......)
#或者下面的方法
arrayName[0]=123
arrayName[2]="123"

语法说明:

  • 在shell中声明变量并赋值的=号两边不要有空格切记。
  • 在shell中下标是从0开始的,一个数组中可以存数值也可以同时存字符串。
  • 第一种声明方法记得元素中间有空格。
  • 第一种声明方法记括号两边不能有空格。

二、shell编程中array的使用

2.1赋值

#初始赋值上面说了。
#更新赋值用以下语法
数组名[索引]=新值

2.2读取

  • ${arrayName[i]} #读取索引i位置的内容
  • ${arrayName[*]} #获取数组所有元素
  • ${#arrayName[*]} #获取数组的长度
  • ${arrayName[@]} #获取数组所有元素
  • ${arrayName[@]:1} #截取数组下标1到结束的元素,这个go的切片有点像


三、shell编程中array的例子

#!/bin/bash

arrayName[2]=123
arrayName[1]="123"

echo "${arrayName[2]}"
echo "${arrayName[1]}"


fileArray=($(ls)) #记得此处的括号
for (( i=0; i<${#fileArray[@]}; i++ ));do
	echo "$i:${fileArray[i]}"
done

fileArray1=(${fileArray[@]:1:3})#记得此处的括号
for (( i=0; i<${#fileArray1[@]}; i++ ));do
	echo "$i:${fileArray1[i]}"
done

四、shell编程中map的声明定义

#map的声明
declare -A map变量名

五、shell编程中map的使用

5.1赋值

#语法如下:
nameMap[“001”]=“xiao ming”
nameMap[“002”]=“xiao lin”
nameMap[“002”]=“xiao guang”

5.2读取

  • ${nameMap["key"]} #读取key的值
  • ${!nameMap[@]} #输出所有的key
  • ${nameMap[@]} #输出所有的值

5.3遍历

就是获取遍历所有的key,然后根据key获取每一个值。例子中会有。

六、shell编程中map的例子

#!/bin/bash
declare -A nameMap

nameMap["001"]="xiao ming"
nameMap["002"]="xiao lin"
nameMap["003"]="xiao guang"

for k in ${!nameMap[@]};do
	echo "$k:${nameMap["$k"]}"
done

好的,这一期就分享到这里了,shell编程全剧终。感谢大家一路的陪伴。后面要思考一下进行哪个教程了。感谢大家支持。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表
最新留言