This is not a bug but the expected behavior.
Due to the use of a pipe, "readarray blah" is executed in a sub-shell.
But "echo ${blah[@]}" is executed in the parent shell. This has nothing
to do with readarray, the command ": | blah=blah; echo $blah" would also
fail to output blah.
On the other hand, this will work because both readarray and echo execute in
the same subshell:
$ cat /tmp/foo | ( readarray blah; echo "${blah[@]}" )
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1376329
Title:
readarray doesn't work with pipes
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1376329/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs