Linux操作系统.在将文件内容设置为环境变量时如何保留行?

ami*_*gal 3 linux shell newline environment-variables

我有一个包含多行的文件.在shell中使用cat/more/less [file]时,
内容会逐行显示

执行以下命令时:

temp=`cat [file]`
echo $temp
Run Code Online (Sandbox Code Playgroud)

内容以一行显示.

有没有办法在设置环境变量时保留行结尾然后回显它?

谢谢

Aar*_*lla 12

是:

temp=`cat [file]`
echo "$temp"
Run Code Online (Sandbox Code Playgroud)

神奇的是在引号周围$temp; 没有他们,echo得到这些论点:

echo line1\nline2\nlin3
Run Code Online (Sandbox Code Playgroud)

shell解析算法会将命令行拆分为空格,因此echo可以看到三个参数.如果引用变量,echo将看到一个参数,并且shell解析不会触及引号之间的空格.