I'm trying to split a multi-line string on spaces only, preserving line breaks:
IFS=' ' read a b c <<< "$(printf '%s\n' "foo" "bar" "baz")"; echo "a=[$a]"; echo "b=[$b]"; echo "c=[$c]"
Expected:
a=[foo
bar
baz
]
b=[]
c=[]
Actual:
a=[foo]
b=[]
c=[]
What am I missing? When I replace \n
with \t
it works as expected.
I'm using bash v5.0.18