24

我有以下文件

linux$ cat test.txt
toto
titi
tete
tata

将 cat 输出保存到变量中将丢弃换行符

linux$ msgs=`cat test.txt`
linux$ echo $msgs
toto titi tete tata

如何保持输出包含变量中的换行符?

4

3 回答 3

46

外壳正在拆分msgs变量,因此echo获取多个参数。您需要引用您的变量以防止这种情况发生:

echo "$msgs"
于 2013-08-02T13:43:06.983 回答
0

我有这个:

echo $(cat myfile.sh) >> destination.sh

这是导致问题的原因,所以我将其更改为:

cat myfile.sh >> destination.sh

这行得通,lulz

于 2018-03-15T01:04:29.503 回答
-6

您可以使用重定向“|”

echo | cat test.txt
于 2013-08-02T13:49:54.760 回答