BASH-在消息输出中包含换行符

BASH-在消息输出中包含换行符,bash,command,linefeed,Bash,Command,Linefeed,我使用以下命令捕获服务器上使用的磁盘空间,并将其存储在var空间中 space=`cd /users/; du -hs * | sort -h;` 在命令行中,输入echo“$space”显示正确的输出以及结果的换行符 我现在试着给自己发邮件,邮件发送得很好,但是du输出都显示在一行上,不像bash提示符时那样是新的行 这是我的邮件正文,以及我如何使用空间 它可以工作,但输出并不像从命令行运行时那样显示 mailbody="$server_name - Server disk usage i

我使用以下命令捕获服务器上使用的磁盘空间,并将其存储在var空间中

space=`cd /users/; du -hs * | sort -h;` 
在命令行中,输入
echo“$space”
显示正确的输出以及结果的换行符

我现在试着给自己发邮件,邮件发送得很好,但是du输出都显示在一行上,不像bash提示符时那样是新的行

这是我的邮件正文,以及我如何使用
空间

它可以工作,但输出并不像从命令行运行时那样显示

mailbody="$server_name - Server disk usage is at ${current_usage}. ${space}"
我明白了

Test Server - Server disk usage is at 40%. 1.1G jon 1.1G paul 1.9G ringo
我想去哪里

Test Server - Server disk usage is at 40%. 
1.1G jon 
1.1G paul 
1.9G ringo
你知道我怎么做吗

谢谢

解决方案是:

space=$`cd /users/; du -hs * | sort -h;`

美元使ansi-c标准代码得以扩展。甚至表单提要和警报也能工作。

你是否引用
“$mailbody”
?我使用:
echo${mailbody}邮件-s“$server_name”“${mail}”--f“${from}”
我应该引用mailbody吗?@glennjackman感谢将我的echo更改为
echo-e“${mailbody}”
似乎已经解决了这个问题缺少引用。你的意思可能是
$'…'
而不是
$`…`
,不是吗?