
linux之Shell编程(4)--Shell数组实例演示
只需要给对应位置的元素重新赋值即可。
获取数组的长度
获取指定位置到指定位置的数组元素 通用的格式${array[@]:起始位置:长度},中间以":"隔开,如果第二项省略的话,就取后面所有的项
发布日期:2021-05-09 17:18:49
浏览次数:18
分类:精选文章
本文共 1371 字,大约阅读时间需要 4 分钟。
一.Shell数组简介
和其它编程语言一样,Shell也有存储元素的数据结构,但是在Bash Shell中只支持一维数组,初始化大小时不需要定义数组大小,元素下标也是由0开始。
Shell数组的语法格式:array=(n1,n2,n3…n)
注意:
1.数组元素之间用空格符号隔开,如果不隔开则视为一个元素,如ab。 2.和其他语言不同的是,元素之间不能用 **,**隔开。
二.实例演示Shell数组
#!/bin/basharray=(a bc "d")echo "first value:${array[0]}"echo "second value:${array[1]}"echo "third value:${array[2]}"echo "forth value:${array[3]}"
运行结果:

注意:
1.我们这里定义了拥有三个元素的数组a bc d,定义数组时可以数字和字母的组合,因为Shell里面都视为字符串。 例如:输出:
2.大家可能会看到,我们数组定义了三个元素,如果输出第四个元素并不会报错,只是无法显示。
数组的元素也可以更改
array[0]=1;array[1]="3";echo "first value:${array[0]}"echo "second value:${array[1]}"

输出数组的所有元素
echo "数组的所有元素为:${array[*]}"echo "数组的所有元素为:${array[@]}"

echo "the length of array is:${#array[*]}"echo "the length of array is:${#array[@]}"
和获取字符串的长度一样,结果为

三.遍历Shell数组
array=(1 b1 c)for value in ${array[@]}; do echo $valuedone

删除和增加数组元素

array=(1 b1 c)unset array[0]echo "delete array[0]:"for value in ${array[@]}; do echo $valuedonearray[0]=2echo "add array[0]:"for value in ${array[@]}; do echo $valuedone
结果:

array=(a 1 3 a2)echo ${array[@]} #输出所有元素echo ${array[@]:1} #输出从下标为1开始的所有元素echo ${array[@]:0:2} # 输出从下标为 0 开始到下标为 2 结束的所有元素echo ${array[@]::2} #输出下标为2的元素之前的所有元素echo ${array[@]:(-2):2} #输出从倒数第二个元素算起,取 2 位
结果:

Shell数组的简单操作就先演示到这里
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2025年04月20日 16时45分45秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
重定向
2021-05-10
08-springmvc-异常解析器
2021-05-10
MYISAM存储引擎
2021-05-10
什么情况必须使用 statement
2021-05-10
账号转账演示事务
2021-05-10
HDML BS结构和CS结构介绍
2021-05-10
Object类:jDK类库的根类
2021-05-10
java中的集合回顾-collections工具类进行一个集合排序
2021-05-10
maven maven知识点回顾
2021-05-10
VS VS导入opencv的配置文件到Debug文件后还是无法导入库函数
2021-05-10
idea创建工程时错误提醒的是architectCatalog=internal
2021-05-10
E - Another Postman Problem FZU - 2038
2021-05-10
力扣 1658. 将 x 减到 0 的最小操作数
2021-05-10
图解redis(二)
2021-05-10
input type="checkbox" 样式美化
2021-05-10
【Java】 # 对于日期Date类的相关操作
2021-05-10
【Java】 # (1)java语言实现正则表达式的简单应用(2)常用的正则表达式
2021-05-10
【JS】 # js获取当前日期,比较日期大小
2021-05-10
【JavaLearn】 # 培训(一)—— JavaSE查漏补缺
2021-05-10
SpringBoot找不到@EnableRety注解
2021-05-10