Bash 脚本将多个命令发送到一封电子邮件
Bash Script pipe multiple commands to one email
我想将各种命令的输出写成电子邮件。
我试过这个:
#!/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>";
脚本是无限的。 :/
我该怎么做?我需要一封电子邮件中的日期、最高输出和更新日志。
查看cron-apt
和nullmailer
系统更新后发送邮件。
这是正确的做法,问题出在 echo $(top)
。 top
是一个交互式应用程序,所以永远不会 returns。
您应该使用 ps
来列出当前进程 运行。
jas_raj 答案是正确的,但是如果您喜欢 top
的输出,您可以 运行 在批处理模式下:top -bn 1
这将使顶部在它之后立即退出运行s 一次。
我想将各种命令的输出写成电子邮件。 我试过这个:
#!/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>";
脚本是无限的。 :/
我该怎么做?我需要一封电子邮件中的日期、最高输出和更新日志。
查看cron-apt
和nullmailer
系统更新后发送邮件。
这是正确的做法,问题出在 echo $(top)
。 top
是一个交互式应用程序,所以永远不会 returns。
您应该使用 ps
来列出当前进程 运行。
jas_raj 答案是正确的,但是如果您喜欢 top
的输出,您可以 运行 在批处理模式下:top -bn 1
这将使顶部在它之后立即退出运行s 一次。