【发布时间】:2021-11-29 06:59:11
【问题描述】:
IFS 用作分词字符,但是当 IFS 为空/空时会发生什么。 例如,考虑输入文件 abc.txt 的内容
first line
second line
现在,如果我运行
IFS='' # or IFS= or assume IFS is null
for word in $(cat abc.txt)
do
echo ${word}
done
那么输出就是
first line
second line
注意,在 output 中,显示了两行。 现在,问题是为什么出现两条线而不是一条? 如果没有 IFS 被用作分词字符,那么我猜输出应该是
first line second line
输出不应该只在一行中吗,因为此时 \n 也不是 IFS?
【问题讨论】:
-
它没有在换行符处拆分是正确的,但为什么要drop换行符?它是您的
word的一部分。 -
是您的朋友,好好利用它。您找到的帖子如下:unix.stackexchange.com/questions/184863/…
-
你假设循环体执行了两次:它没有。