Bash 专业人员笔记 -- 第 12 章:数组

Bash 专业人员笔记 -- 第 12 章:数组
第 12.1 节:数组赋值列表赋值如果你熟悉 Perl、C 或 Java,可能会认为 Bash 会使用逗号分隔数组元素,但事实并非如此;Bash 使用空格:Perl 中的数组:my @array = (1,2,3,4);Bash 中的数组:array=(1 2 3 4)创建一个包含新元素的数组:array=("first element""second element""third element")下标赋值创建具有显式元素索引的数组:array=([3]="fourth element"[4]="fifth element")按索引赋值array[0]="first element"array[1]="second element"按名称赋值(关联数组)Bash 版本 ≥ 4.0declare-Aarray array[first]="First element"array[second]="Second element"动态赋值从其他命令的输出创建数组,例如使用seq获取从 1 到 10 的范围:array=($(seq110))从脚本的输入参数赋值:array=("$@")在循环中赋值:whileread-r;do# array+=("$REPLY") # 数组追加array[$i]="$REPLY"# 按索引赋值leti++# 增加索引done"$(seq110)"# 命令替换其中$REPLY始终是当前的输入。第 12.2 节:访问数组元素打印索引 0 处的元素:echo"${array[0]}"Bash 版本 ≥ 4.3- 使用子串扩展语法打印最后一个元素:echo"${arr[@]:-1}"Bash 版本 ≥ 4.3- 使用下标语法打印最后一个元素:echo"${array[-1]}"打印所有元素,每个元素单独引用:echo"${array[@]}"将所有元素作为单个带引号的字符串打印:echo"${array[*]}"打印从索引 1 开始的所有元素,每个单独引用:echo"${array[@]:1}"打印从索引 1 开始的 3 个元素,每个单独引用:echo"${array[@]:1:3}"字符串操作如果引用单个元素,允许进行字符串操作:array=("zero""one""two")echo"${array[0]:0:3}"# 输出:zer(字符串 "zero" 中位置 0、1、2 的字符)echo"${array[0]:1:3}/

最新新闻

日新闻

周新闻

月新闻