在bash
4.4中,该readarray
命令获得了-d
类似于相同选项的选项read
.
$ IFS= readarray -d '' myvar < <(printf "%s\0" 'a b' 'c d') $ printf "%s\n" "${myvar[@]}" a b c d
如果必须支持早期版本,则需要显式循环输出.
while IFS= read -d '' line; do myvar+=( "$line" ) done < <(printf "%s\0" 'a b' 'c d')