数组以及关联数组的声明和赋值
一,基本数组
数组可以让用户一次赋予多个值,读取的时候只需要通过索引调用就可以方便读出
1,数组语法:
数组名称=(元素1 元素2 元素3……)
2,数组读出
${数组名称[索引]}
索引默认是元素在数组中的排队编号,默认从第一个0开始
3,数组赋值
(1)一次附多个值
arry0[0]='tom'
arry0[1]='cat'
(2)一次附多个值
array=(var1 var2 var3 var4)
array1=(`cat /etc/passwd`) //将文件中每一行赋值给array1数组
array2=(`ls /root`)
array3=(harry amy jack "Miss zhang")
array4=(1 2 3 4 "hello world" [10]=linux)
4,查看数组
declare -a
[root@CentOs shell]# declare -a
declare -a BASH_ARGC='()'
declare -a BASH_ARGV='()'
declare -a BASH_LINENO='()'
declare -ar BASH_REMATCH='()'
declare -a BASH_SOURCE='()'
declare -ar BASH_VERSINFO='([0]="4" [1]="2" [2]="46" [3]="2" [4]="release" [5]="x86_64-redhat-linux-gnu")'
declare -a DIRSTACK='()'
declare -a FUNCNAME='()'
declare -a GROUPS='()'
declare -a PIPESTATUS='([0]="0")'
[root@CentOs shell]#
5,访问数组元素
${array[i]} i表示元素的索引
使用@ 或 * 可以获取数组中的所有元素:
echo ${array[0]} 获取第一个元素
echo ${array[*]} 获取数组里的所有元素
echo ${#array[*]} 获取数组里所有元素个数
echo ${!array[@]} 获取数组元素的索引
echo ${array[@]:1:2} 访问指定的元素;1代表从索引为1的元素开始获取;2代表获取后面几个元素
获取第一个元素
二,关联数组
关联数组允许用户自定义数组的索引,使用起来更加高效,方便!
1,申明关联数组
申明方式: declare -A 数组名称
首先声明关联数组
declare -A asso_array1
declare -A asso_array2
declare -A asso_array3
2,关联数组赋值
- 一次赋一个值
数组名[索引]=变量值
[root@zutuanxue ~]# asso_array1[linux]=one
[root@zutuanxue ~]# asso_array1[java]=two
[root@zutuanxue ~]# asso_array1[php]=three
- 一次附多个值
[root@zutuanxue ~]# asso_array2=([name1]=harry [name2]=jack [name3]=amy [name4]="Miss zhang")
- 查看关联数组
[root@zutuanxue ~]# declare -A
declare -A asso_array1='([php]="three" [java]="two" [linux]="one" )'
declare -A asso_array2='([name3]="amy" [name2]="jack" [name1]="harry" [name4]="Miss zhang" )'
例如:
[root@CentOs shell]# bash test
name=heitui
[root@CentOs shell]#
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律