On Fri, Jan 12, 2024, at 2:06 PM, Robert Elz wrote:
> ps: the use of process substitution there is just silly, it would work
> just as well, and be easier to understand if written:
>
> printf '\\\nabc' | { read -N1; read -r b c; }; declare -p REPLY b c
Presumably Greg was just preventing the implicit pipeline subshell
from swallowing the variables.
bash-5.2$ printf '\\\nabc' | { read -N1; read -r b c; }; declare -p
REPLY b c
bash: declare: REPLY: not found
bash: declare: b: not found
bash: declare: c: not found
For these self-contained experiments, printing the values from
within the subshell is probably fine.
bash-5.2$ printf '\\\nabc' | { read -N1; read -r b c; declare -p REPLY
b c; }
declare -- REPLY="a"
declare -- b="bc"
declare -- c=""
--
vq