shell脚本之数组

一、定义数组

数组名=(元素1 元素2 元素3)
Bash Shell只支持一维数组,不支持多维数组。

二、打印数组

echo ${name[*]}  # "显示所有数组的元素"
echo ${name[@]}  # "显示所有数组的元素"
echo ${name[0]}  # "显示下标为0的元素,默认从0开始"
echo ${name[3]}  # "显示下标为3的元素"
echo ${#name[@]}  # "显示数组元素数量"

三、数组元素赋值

1、通过下标赋值,下标有值则覆盖,没有值则新增

#!/bin/bash
name[0]=01
name[2]=02
name[3]=03
echo ${name[@]}
echo ${name[1]}
echo ${name[2]}

# ~~~~~~~~~~~~~~~~~

#!/bin/bash
name=(01 02 03 04 05 06)
echo ${name[@]}
name[1]=""
name[6]=""
echo ${name[@]}

2、通过键值对的方式赋值

        通过访问键,得到对应的值。

#!/bin/bash
name=([1]=01 [2]=02 [3]=03)
echo ${name[1]}
echo ${name[3]}

3、动态定义数组变量

        可以将一些Linux命令嵌入其中,这样可以遍历数组元素,也可以只要其中的某个元素。

[root@4-232 question]# name=($(ls ./))
[root@4-232 question]# echo ${name[@]}
access.log nohup.out question.sh test1.sh test.sh

四、遍历数组

1、利用${name[@]}遍历所有数组元素

#!/bin/bash
name=(01 02 03 04 05)

for i in ${name[@]}
do
  echo $i
done

2、通过下标遍历数组所有元素

#!/bin/bash
name=(01 02 03 04 05)
for n in {0..4}
do
  echo ${name[$n]}
done

 

posted @ 2023-02-24 16:25  潇湘神剑  阅读(80)  评论(0编辑  收藏  举报