追加元素:+=运算符与自动扩展在 Bash 中,数组一旦创建,其大小并非固定。若需向数组末尾追加元素,原生方法并不直观——无法通过*或@扩展直接获取最大下标。幸运的是,Bash 提供了+=赋值运算符,可以自动将新元素追加到数组末端。foo=(a b c)echo${foo[@]}# 输出 a b cfoo+=(d e f)echo${foo[@]}# 输出 a b c d e f注意事项:+=必须用在数组名右侧,且括号包裹追加的值列表。该操作会覆盖原数组变量,但效果等价于在原数组末尾依次赋值。读取数组:read -a与 here-stringread内置命令的-a选项可以将输入单词直接读入索引数组,避免逐个变量赋值。declare-afooread-afoo"0th 1st 2nd 3rd 4th"foriin"${foo[@]}";doecho"$i";done输出:0th 1st 2nd 3rd 4th适用场景:从用户输入或管道中快速将一行文本按空格分词转为数组。文件读入数组:mapfile命令及选项详解Bash 4.0+ 提供了mapfile(别名readarray)专门从标准输入读取行放入数组。其基本用法为:mapfile[-选项]数组名常用选项如下:选项说明-d delim用delim作为行终止符(默认为换行)-n count只读取前count行-O origin从下标origin开始赋值(默认为 0)-s count跳过文件开头count行-t移除每行末尾的分隔符(通常为换行符)示例:从词典文件读取前 32767 个单词,生成随机口令。