【问题标题】:Bash Script pipe multiple commands to one emailBash 脚本通过管道将多个命令发送到一封电子邮件
【发布时间】:2015-03-13 19:50:43
【问题描述】:

我想将各种命令的输出写成电子邮件。 我试过这个:

#!/bin/bash

(echo $(date); echo $(top);sudo apt-get update && sudo apt-get upgrade -y)  | mail -s "Updated!" xxxxxxxxxxx@gmail.com -a "From: UpdateNotify<xxxxxxxx@gmail.com>";

脚本是无限的。 :/

我该怎么做?我需要一封电子邮件中的日期、顶部输出和更新日志。

【问题讨论】:

    标签: linux bash shell ubuntu sh


    【解决方案1】:

    jas_raj 答案是正确的,但是如果您喜欢 top 的输出,您可以在批处理模式下运行:top -bn 1 这将在运行一次后立即退出。

    【讨论】:

      【解决方案2】:

      这是正确的做法,问题在于echo $(top)top 是一个交互式应用程序,因此永远不会返回。

      您应该使用ps 来列出当前正在运行的进程。

      【讨论】:

      • 这是正确的做法。它也可以在初始( 之后使用换行符和在结束) 之前使用换行符以及其间的缩进来更好地格式化。然后每个命令都可以单独一行。
      【解决方案3】:

      看看cron-aptnullmailer在系统更新后发送邮件。

      【讨论】:

        猜你喜欢
        • 2013-01-01
        • 1970-01-01
        • 2016-03-30
        • 1970-01-01
        • 1970-01-01
        • 2013-02-17
        • 2015-10-13
        • 2012-09-06
        • 1970-01-01
        相关资源
        最近更新 更多