问题
I have the following file
linux$ cat test.txt
toto
titi
tete
tata
Saving the cat output into a variable will discard the newlines
linux$ msgs=`cat test.txt`
linux$ echo $msgs
toto titi tete tata
How to keep the output containing the newlines in the variables?
回答1:
The shell is splitting the msgs
variable so echo
get multiple parameters.
You need to quote your variable to prevent this to happen:
echo "$msgs"
回答2:
I had this:
echo $(cat myfile.sh) >> destination.sh
that was causing the problem, so I changed it to:
cat myfile.sh >> destination.sh
and that worked, lulz
回答3:
you can use the redirection "|"
echo | cat test.txt
来源:https://stackoverflow.com/questions/18018359/all-newlines-are-removed-when-saving-cat-output-into-a-variable