改行を含む文字列の変数をechoすると改行が消えるパターン

以下のようにechoで改行を含む文字列の変数を出力すると改行が消える。

FOO=$(ls)
echo $FOO
bin boot dev etc home lib lib32 lib64 libx32 lost+found media mnt opt proc root run sbin snap srv sys tmp usr var

lsコマンドは標準では改行区切りで出力されるので、FOOには改行を含む文字列が入っている。
しかし、変数FOOに格納したうえで$FOOechoで出力すると改行が消えている。

対処

変数をダブルクオートで囲い、echo "$FOO"とすると改行が消えない。

FOO=$(ls)
echo "$FOO"
bin
boot
dev
etc
home
lib
lib32
lib64
libx32
lost+found
media
mnt
opt
proc
root
run
sbin
snap
srv
sys
tmp
usr
var