为什么只有第一行使用IFS =''评估

问题描述

我试图仅在空格处分割多行字符串,以保留换行符:

IFS=' ' read a b c <<< "$(printf '%s\n' "foo" "bar" "baz")"; echo "a=[$a]"; echo "b=[$b]"; echo "c=[$c]"

预期:

a=[foo
bar
baz
]
b=[]
c=[]

实际:

a=[foo]
b=[]
c=[]

我想念什么?当我将\n替换为\t时,它可以正常工作。

我正在使用bash v5.0.18

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)