☰
shell基础(3)之数组的基础操作:定义、取值(某个值、截取)、数组属性(数组长度、元素长度)、操作(连接数组、替换、取消)
2026/11/3 1:11:41 网站建设 项目流程

文章目录

    • 一. 数组简介
    • 二. 数组定义
    • 三. 操作数组
      • 1. 取值
      • 2. 数组的长度
      • 3. 数组截取
      • 4. 连接数组
      • 5. 替换元素
      • 6. 取消元素或数组

一. 数组简介

Shell中数组对元素个数没数组有限制,但只支持一维数组。Shell变量是弱类型性的,不要求每个元素都是相同类型。

二. 数组定义

1、 定义的同时赋值[root@tbds-10-1-0-38lib]# declare-a Arr6=('1''john')[root@tbds-10-1-0-38lib]# echo ${Arr6[1]}john2、 不使用关键字[root@tbds-10-1-0-38lib]# Arr7=(1"ni"2)[root@tbds-10-1-0-38lib]# echo ${Arr7[0]}1[root@tbds-10-1-0-38lib]# echo ${Arr7[1]}ni3、 跳号赋值[root@tbds-10-1-0-38lib]# Score=([2]=98[5]=79[6]=88)[root@tbds-10-1-0-38lib]# echo ${Score[2]}98

三. 操作数组

1. 取值

取单个值[root@tbds-10-1-0-38lib]# echo ${Score[2]}98取所有的值[root@tbds-10-1-0-38lib]# echo ${Score[*]}987988

2. 数组的长度

数组的元素个数[root@tbds-10-1-0-38lib]# echo ${#Score[*]}3某个元素的长度[root@tbds-10-1-0-38lib]# echo ${#Score[2]}2

3. 数组截取

可以是某个元素的一部分,也可以截取整个数组的某几个元素

[root@tbds-10-1-0-38lib]# arrDemo=(1"nihao""hello""how are you")[root@tbds-10-1-0-38lib]# echo ${arrDemo[1]:0:3}nih[root@tbds-10-1-0-38lib]# echo ${arrDemo[*]:0:3}1nihao hello

4. 连接数组

[root@tbds-10-1-0-38lib]# Conn=(${arrDemo[@]}${Arr7[@]})[root@tbds-10-1-0-38lib]# echo ${Conn[*]}1nihao hello how are you1ni2

5. 替换元素

[root@tbds-10-1-0-38lib]# arrDemo=(${arrDemo[@]/hello/HELLO})[root@tbds-10-1-0-38lib]# echo ${arrDemo[@]}1nihao HELLO how are you

6. 取消元素或数组

[root@tbds-10-1-0-38lib]# unset arrDemo[1][root@tbds-10-1-0-38lib]# echo ${arrDemo[@]}1HELLO how are you[root@tbds-10-1-0-38lib]# unset arrDemo[root@tbds-10-1-0-38lib]# echo ${arrDemo[@]}


需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询