linux: 数组
🕗 发布于 2025-01-16 21:42 算法 数据结构
普通数组
数组赋值
①一次赋予一个值
数组名[元素
下标
]=
值
②一次赋予多个值
数组名=(
值
1
值
2
值
3 ...)
通过
declare -a
数组名
的方式去声明数组
声明一个空数组 declare -a 数组名
声明并初始化一个数组 declare -a 数组名=(element1 element2 element3)
-a 即array,表名正在声明一个数组
③将文件中每一行赋值给数组
数组名=(`cat 文件名`)
数组名=($(cat 文件名))
默认一行是一个数组元素,
命令解释:
cat 显示文件内容,反引号表示命令替换,即执行反引号内的命令,并将命令的输出结果替换反引号及其内的内容,数组=(),是数组赋多个值的基本格式
如果缺少数组基本格式的(),那么文件的内容会被作为一个字符串赋值给变量ggg,行和行之间默认空格
推荐使用$()
来代替反引号进行命令替换,因为 $()
更加易读且易于嵌套
关联数组
关联数组的访问: 通过元素下标或索引
一次赋多个值
语法:
数组名
=([
下标
1]=
变量值
1 [
小标
2]=
变量值
2 ... ...)
访问 语法: echo ${
数组名
[
索引
or
下标
]}
访问所有元素 echo ${
数组名
[*]} echo ${
数组名
[@
]}
访问联合数组的所有下标或索引名称
普通数组和联合数组
打印数组长度
echo ${#数组名[@]}
#:获取数组的长度,即数组中元素的数量。
@:引用数组中的所有元素。
打印数组内的全部元素
${array[@]} 会将数组 array 中的所有元素连接成一个字符串,元素之间默认以第一个字符为分隔符(通常是空格)。如果数组元素中包含空格或特殊字符,可能需要使用双引号来确保它们被正确处理。
访问特定的元素
数组下标(索引)用于访问数组中的特定元素, 数组的元素下标从0开始
修改数组元素
删除数组
unset 数组名
删除数组的某个元素: unset 数组名[元素下标]
遍历数组
示例: 下面的代码写在Shell文件中
遍历数组失败
原因: 如果shell无法运行可能是脚本运行的环境不能够访问到
Arrays
变量
解决方案
1.在脚本内部定义变量
2.导出变量
在脚本外部使用
export
命令导出变量,使其在当前shell会话中对所有子进程可见,然后在脚本中直接使用
Arrays
变量
.
原文地址:https://blog.csdn.net/weixin_40121264/article/details/145129987
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!