编写脚本向所有在线用户发送邮件

编写脚本向所有在线用户发送邮件

我正在上我的第一堂 Linux 课,我们正在编写脚本。目前,我正在尝试编写一个脚本,该脚本将查看谁在线,然后向他们发送邮件

这是入门级 Linux 课程,所以没什么好疯狂的,我是一个上了这门课的老人。自从我拥有 TRS-80 并学习了基础知识后,我就没再使用过电脑。

我想知道如何将用户名存储在某种数组或变量中。我想我需要从一个计数用户的变量开始,就像

用户数量=users | wc -w

然后我认为我需要使用该信息来创建一个变量来查找所有名称。

用户名 =`who | awk'{print $1}'|sort|uniq

如果只有一个人在线,这种方法是可行的。但如果有更多人在线,我不确定该如何/写什么。

有什么帮助吗?

答案1

@DamianOgre:我觉得你想多了。你不需要计算它们,只需循环遍历返回的名称即可。

who | cut -d " " -f 1| sort -u |  while read user
do
  echo "Hi there!" | mail $user
done

附言:我awk,但这里 cut 就足够了。:) PPS:您的设置中某些命令可能有所不同,它可能是 mailx、mutt、...

相关内容