换行符不会被打印出来

时间:2018-06-13 19:39:28

标签: bash

我正在编写一个首先保存文本的bash脚本(换行符来自grep),然后再打印出来。出于某种原因,行echo $TEXT只打印一行。我看了this answer,我相信我使用相同的东西(但用$()代替反叛),但它没有用。有什么想法吗?

TEXT=$(grep Vacation vacations | grep Day)
echo "Counting days based on the following:"
echo "###############################################################"
echo $TEXT
echo "###############################################################"

1 个答案:

答案 0 :(得分:1)

您必须引用$TEXT,否则新行将被视为任何其他空格,并在确定echo的参数时仅用作单词边界。

echo "$TEXT"

但是,只要您已经打印了标题,就可以更有效率地运行grep

echo "Counting ..."
echo "####..."
grep Vacation vacations | grep Day
echo "####..."