linux 数组 一次取一行,shell array

Shell数组变量 【拓展 1星】

普通数组:只能使用整数作为数组索引

关联数组:可以使用字符串作为数组索引

一、普通数组

定义数组:

方法一: 一次赋一个值

数组名[下标]=变量值

array1[0]=pear

array1[1]=apple

array1[2]=orange

array1[3]=peach

方法二: 一次赋多个值

array2=(tom jack alice)

array3=(cat /etc/passwd) 希望是将该文件中的每一个行作为一个元数赋值给数组array3

array4=(ls /var/ftp/Shell/for*)

array5=(tom jack alice "bash shell")

colors=(

math?formula=redblue

math?formula=greenrecolor)

array5=(1 2 3 4 5 6 7 "linux shell" [20]=ansible)

查看数组:

declare -a

declare -a array1='([0]="pear" [1]="apple" [2]="orange" [3]="peach")'

declare -a array2='([0]="tom" [1]="jack" [2]="alice")'

访问数组元数:

echo ${array1[0]} 访问数组中的第一个元数

echo

math?formula=%7Barray1%5B%40%5D%7D%20%E8%AE%BF%E9%97%AE%E6%95%B0%E7%BB%84%E4%B8%AD%E6%89%80%E6%9C%89%E5%85%83%E6%95%B0%20%E7%AD%89%E5%90%8C%E4%BA%8E%20echo{array1[*]}

echo ${#array1[@]} 统计数组元数的个数

echo ${!array2[@]} 获取数组元数的索引

echo ${array1[@]:1} 从数组下标1开始

echo ${array1[@]:1:2} 从数组下标1开始,访问两个元素

遍历数组:

方法一: 通过数组元数的个数进行遍历

方法二: 通过数组元数的索引进行遍历

二、关联数组

定义关联数组:

申明关联数组变量

declare -A ass_array1

declare -A ass_array2

方法一: 一次赋一个值

数组名[索引]=变量值

ass_array1[index1]=pear

ass_array1[index2]=apple

ass_array1[index3]=orange

ass_array1[index4]=peach

方法二: 一次赋多个值

ass_array2=([index1]=tom [index2]=jack [index3]=alice [index4]='bash shell')

查看数组:

declare -A

declare -A ass_array1='([index4]="peach" [index1]="pear" [index2]="apple" [index3]="orange" )'

declare -A ass_array2='([index4]="bash shell" [index1]="tom" [index2]="jack" [index3]="alice" )'

访问数组元数:

echo ${ass_array2[index2]} 访问数组中的第二个元数

echo

math?formula=%7Bass_array2%5B%40%5D%7D%20%E8%AE%BF%E9%97%AE%E6%95%B0%E7%BB%84%E4%B8%AD%E6%89%80%E6%9C%89%E5%85%83%E6%95%B0%20%E7%AD%89%E5%90%8C%E4%BA%8E%20echo{array1[*]}

echo ${#ass_array2[@]} 获得数组元数的个数

echo ${!ass_array2[@]} 获得数组元数的索引

遍历数组:

方法一: 通过数组元数的索引进行遍历

作业:

将/etc/shadow文件的每一行作为元数赋值给数组

统计/etc/passwd文件中不同类型shell的数量

从标准输入读入数据保存到数组

遍历数组有哪些方法?

关联数组和普通数组的区别?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值