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 @   潇湘神剑  阅读(98)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!
点击右上角即可分享
微信分享提示