readarray
mapfile别名
mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array],
从标准输入中读取行到索引数组变量array(未指定array则默认值为变量MAPFILE),或者如果提供-u选项则从文件描述符fd中读取行。
-d选项,delim的第一个字符用于终止每个输入行,而不是换行。如果delim是空字符串,mapfile将在读取空字符时终止行。
-n选项,最多复制count行,如果count为0,则复制所有行。
-O选项,从array索引origin处开始赋值,默认为0。
-s选项,丢弃读入的前count行。
-t选项,从读取的每一行中删除尾随的delim字符,默认为换行符。
-u选项,从文件描述符fd中读取行。
-C选项,每读取-c选项指定的quantum行后,执行一次callback。
-c选项,指定调用callback的间隔行数quantum,默认为5000。
在执行回调函数时,提供要分配的下一个数组元素的索引以及要作为附加参数分配给该元素的行。callback在读取行之后和分配数组元素之前执行。如果没有指定origin,则mapfile将在赋值之前清空array。除非提供了无效的选项或选项参数、array无效或不可分配,或者array不是索引数组,否则返回0。
原文链接:https://blog.csdn.net/asty9000/article/details/88954873
readarray -t scsi_disks < <(lsblk | awk 'NR>=2{print $2}')
echo ${scsi_disks[@]}
echo ${scsi_disks[@]} |tr ' ' '\n'
timeout
timeout 60