Shell 脚本电子邮件输出格式

Shell 脚本电子邮件输出格式

我正在尝试创建一个 shell 脚本,它可以回应一堆命令,并让它相当简单地发送电子邮件。

{
  echo $(hostname)
  echo ""
  echo "Uptime" $(uptime)
  echo ""
  echo "Who is on the server?" $(who)
  echo ""
  echo "Recent logs" $(last)
}| mail -s "Homework Report" [email protected]

电子邮件上的输出全部是单个句子,原始格式:

我的主机名

正常运行时间下午 2:27 运行 15:59,1 个用户,平均负载:0.44、0.55、0.51

谁在服务器上? ec2-user pts/0 12 月 17 日 14:26 (pool-123-45-678-91.state.fios.verizon.net)

最近的日志 ec2-user pts/0 12 月 17 日 14:26 pool-123-45-678-91.state 星期日 12 月 17 日 14:26 仍在登录 pool-123-45-678-91.state 星期日 12 月 17 日 05:12 - 05:13 (00:01) pool-123-45-678-91.state 星期日 12 月 17 日 02:45 - 05:12 (02:26) ec2-user pts/0 pool-123-45-678-91.state 星期六 12 月 16 日 22:28 - 02:16 (03:47) 启动时间 星期六 12 月 16 日 22:28 关闭时间 星期六 12 月 16 日 22:27 ec2-user pts/0 pool-123-45-678-91.state 星期六 12 月 16 日21:48 - 关闭(00:38) ec2-user pool-123-45-678-91.state 周五 12 月 15 日 23:45 - 23:45(00:00) ec2-user pts/0 pool-123-45-678-91.state 周五 12 月 15 日 23:23 - 23:23(00:00) ec2-user pts/0 pool-123-45-678-91.state 周五 12 月 15 日 23:23 - 23:23(00:00) 启动时间 周五 12 月 15 日 23:23 启动时间 周五 12 月 15 日 23:21 utx.log 开始于 周五 12 月 15 日 23:21:59 UTC 2017

格式化输出的最佳方法是什么,以使其看起来像命令行上的输出?

答案1

变量 $last 被回显为单独的单词 - 引用它(“$last”)以保留换行符。

相关内容