Shell基础学习——数组

Shell数组

数组的定义

使用()来表示数组,元素之间采用空格分隔

array_name=(ele1 ele2 ele3 ... elen)

数组长度不固定,且不要求所有数组元素的类型必须相同

数组元素的获取

获取数组中的某个元素

${array_name[index]}

获取数组中的所有元素

${array_name[*]}
${array_name[@]}

数组长度的获取

利用@或*将数组扩展成列表,再使用#获取数组元素的个数

${#array_name[@]}
${#array_name[*]}

数组的拼接

利用@或*将数组扩展成列表,再合并到一起

array_new=(${array1[@] ${array2[@]}})
array_new=(${array1[*] ${array2[*]}})

数组的删除

删除数组元素

unset array_name[index]

删除整个数组

unset array_name

代码示例

#!/bin/bash
#数组的定义
arr1=(1 2 3)
arr2=(a b c)
arr3=(3 ! hello)

#数组元素的获取
echo arr1[0]:${arr1[0]}
echo arr2[1]:${arr2[1]}
echo arr3[2]:${arr3[2]}
echo arr2[@]:${arr2[@]}
echo arr3[*]:${arr3[*]}

#数组长度的获取
echo arr1.len:${#arr1[@]}
echo arr2.len:${#arr2[*]}

#数组的拼接
arr1_2=(${arr1[@]} ${arr2[@]})
arr2_3=(${arr2[*]} ${arr3[*]})
echo arr1_2:${arr1_2[@]}
echo arr2_3:${arr2_3[*]}

#数组的删除
unset arr1[0]
unset arr2
echo arr1:${arr1[@]}
echo arr2:${arr2[*]}

输出结果

arr1[0]:1
arr2[1]:b
arr3[2]:hello
arr2[@]:a b c
arr3[*]:3 ! hello
arr1.len:3
arr2.len:3
arr1_2:1 2 3 a b c
arr2_3:a b c 3 ! hello
arr1:2 3
arr2:
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值