【发布时间】:2014-08-19 14:05:52
【问题描述】:
我有一个多行字符串,我想使用单个分隔符 | 将其转换为数组。但是,当设置IFS=| 时,它将在新行出现之前停止:
IFS='|' read -a VARS <<< "var1|var2|var3
var4|var5|var6
var7|var8|var9"
echo ${VARS[@]}
#output => var1 var2 var3
我想知道为什么不会评估剩余的行以及如何防止这种情况发生,能够分配每个变量而不管是否存在新行?
【问题讨论】:
-
IFS仅用于拆分单个字符串中的字段。read一次只能读取一行。您的此处字符串由 三 行组成。