read builtin has
-d for us to specify line delimiter other than newline
readarray provide some way to specify line delimiter?
- Is it correct that it has no an option for that purpose?
- Is there a shell default variable for that purpose, similar to
IFSfor field delimiter?
After I saw steeldriver's comment,
$ bash --version GNU bash, version 4.4.19(1)-release (x86_64-pc-linux-gnu) Copyright (C) 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software; you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. $ help readarray readarray: readarray [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array] Read lines from a file into an array variable. A synonym for `mapfile'.
but later I discovered:
$ help mapfile mapfile: mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array] Read lines from the standard input into an indexed array variable. Read lines from the standard input into the indexed array variable ARRAY, or from file descriptor FD if the -u option is supplied. The variable MAPFILE is the default ARRAY. Options: -d delim Use DELIM to terminate lines, instead of newline ...