BASH-在消息输出中包含换行符
我使用以下命令捕获服务器上使用的磁盘空间,并将其存储在var空间中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
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}”
似乎已经解决了这个问题缺少引用。你的意思可能是$'…'
而不是$`…`
,不是吗?