如何向远程机器发送提示,如“你有邮件”,即不使用墙

Ian*_*han 2 remote email messaging

我目前正在使用 wall 在活动开始和结束时在远程机器上显示一条消息。但这是侵入性的,因为它会在他们可能打开的编辑器中写入等等。

我喜欢的是“您有未读的邮件消息”,如果用户在终端上按回车键,它会显示在下一行。

这是什么,我如何远程与它交互?

Gil*_*il' 6

这一行是由 shell 打印的。不同的 shell 以稍微不同的方式实现查找邮件,但除非可以指望人们根据自己的喜好配置他们的 shell(并且可能选择不同的 shell),否则您需要向他们发送邮件。

除了内置的邮件通知之外,设计用于交互式使用的优秀 shell 还可以在显示提示之前运行任意命令。你可以让你的用户cat在那里有一个文件,或者做一些更复杂的事情。对于 zsh 用户,请将其放入~/.zshrc

precmd () {
  if [[ /etc/sysadmin-message -nt ~/.sysadmin-message-timestamp ]]; then
    cat /etc/sysadmin-message
    touch ~/.sysadmin-message-timestamp
  fi
}
Run Code Online (Sandbox Code Playgroud)

对于 bash 用户,请将其放入~/.bashrc

PROMPT_COMMAND='
  if [[ /etc/sysadmin-message -nt ~/.sysadmin-message-timestamp ]]; then
    cat /etc/sysadmin-message
    touch ~/.sysadmin-message-timestamp
  fi
'
Run Code Online (Sandbox Code Playgroud)