Shell脚本--数组

和其他编程语言一样,Shell 也支持数组。Shell 并且没有限制数组的大小,理论上可以存放无限量的数据。

获取数组中的元素要使用下标[ ],下标可以是一个整数,也可以是一个结果为整数的表达式。

 

1. 数组定义

在 Shell 中,用括号( )来表示数组,数组元素之间用空格来分隔。由此,定义数组的一般形式为:

array=(a1 a2 a3 ... an)

Shell 是弱类型的,它并不要求所有数组元素的类型必须相同。

2. 数组使用

获取数组元素的值,一般使用下面的格式:

${array[i]}

其中,array 是数组名,i 是下标,数组元素从 0 开始计数,下标是 * 或者 @ 时可以获取数组中的所有元素。

2.1. 获取元素

示例:

#!/bin/bash

array=(1 hi "hello world")
echo ${array[0]}
echo ${array[1]}
echo ${array[2]}
echo ${array[*]}
echo ${array[@]}

其结果为:

1
hi
hello world
1 hi hello world
1 hi hello world

2.2. 获取数组长度

利用 * 或者 @ 可以将数组扩展成列表,然后使用 # 来获取数组元素的个数,格式如下:

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

同样,如果想获取某一个元素的长度,依旧可以使用 # 来获取数组元素的长度:

${#arry[n]}

示例:

#!/bin/bash

array=(1 hi "hello world")
echo ${#array[0]}
echo ${#array[1]}
echo ${#array[2]}
echo ${#array[*]}

其结果为:

1
2
11
3

2.3. 修改数组元素

修改数组元素的思路是:利用数组下标定位到指定位置,然后对其赋值进行修改或者追加元素。

示例:

#!/bin/bash

array=(1 "hi." "hello world")
echo ${array[*]}
array[1]="hi"
echo ${array[*]}
array[3]=!
echo ${array[*]}

其结果为:

1 hi. hello world
1 hi hello world
1 hi hello world !

2.4. 删除数组元素

在 Shell 中,使用 unset 关键字来删除数组元素,具体格式如下:

unset array[i]

如果不写下标,那么就是删除整个数组,所有元素都会消失。

示例:

#!/bin/bash

array=(1 "hi." "hello world")
echo ${array[*]}
unset array[0]
echo ${array[*]}
unset array
echo ${array[*]}

其结果为:

1 hi. hello world
hi. hello world

2.5. 数组拼接

数组拼接(数组合并)就是将两个或多个数组连接成一个数组。拼接数组的思路是:先利用@*,将数组扩展成列表,然后再合并到一起。

示例:

#!/bin/bash

array1=("hi.")
array2=("hello world")
array=(${array1[*]} ${array2[*]} !)
echo ${array[*]}

其结果为:

hi. hello world !

 

posted @   时间在哪  阅读(153)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示